commit dfed2ced6c6e3e0554c38461d16abd71ea45ad5a Author: inman Date: Fri Jun 26 11:48:35 2026 +0800 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0369e81 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +node_modules/ +dist/ + +.DS_Store +*.local +.env +.env.* + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +*.tsbuildinfo diff --git a/NianXX_官网内容文档.md b/NianXX_官网内容文档.md new file mode 100644 index 0000000..606ad4e --- /dev/null +++ b/NianXX_官网内容文档.md @@ -0,0 +1,489 @@ +# NianXX 智念科技 · 官网内容文档 + +> 本文档只包含内容:每个页面、每个区块的文字和媒体资源。 +> 设计与技术实现由开发侧自行决定。 + +--- + +## 站点结构 + +``` +/ 首页(单页滚动) +/how-we-work 我们如何工作 +/about 关于我们 / 联系我们 +``` + +导航链接:我们如何工作 · 联系我们 + +--- + +## 首页 / + +--- + +### 区块 1 · 开篇 + +**背景媒体** + +``` +[MEDIA-001] +类型:视频(首选)或图片(备选) +内容:抽象空间感,例如流动的光线、山水远景、建筑内部空间 + 例如:流动光线、粒子、山水远景、建筑内部空间 + 避免:人物特写、具体业务场景 +``` + +**文字** + +主标题: +> 让 AI 先听懂一家企业 +> 再进入它的流程 + +副文字: +> NianXX 智念科技是一家企业级 AI 落地服务公司 +> 专注于旅行社、景区、酒店和教育机构 +> +> 我们相信,AI 落地的前提不是工具,而是理解 + +--- + +### 区块 2 · 我们工作的起点 + +**标题**:我们工作的起点 + +**正文**(四条,依次排列): + +> 交给现有员工来推——员工不懂 AI,项目推不动 +> +> 专门组建 AI 团队——成本太高,大多数企业支撑不起 +> +> 用了 AI 工具,它不懂公司的流程和规则 +> 输出要大改,省的时间不够改的时间多 +> +> 做出了能演示的版本,一进真实流程就出问题 +> 迟迟上不了线 + +**收尾语**: +> 这些是我们工作的起点 + +--- + +### 区块 3 · 我们如何工作(预览) + +**标题**:我们如何工作 + +**副标题**:每一个项目都从驻场开始,不靠远程,不靠猜测 + +**四张内容卡片**(每张:媒体 + 引据 + 说明) + +--- + +卡片 1 + +``` +[MEDIA-002] +类型:图片 +内容:人与人当面交谈、会议室访谈、白板梳理的场景 +``` + +引据: +> 懂你的人不懂 AI,懂 AI 的人不懂你 + +说明: +> FDE 驻场实施工程师进入客户现场,访谈团队,梳理流程与关键规则 + +--- + +卡片 2 + +``` +[MEDIA-003] +类型:图片或动图 +内容:知识网络、节点连线、结构图的抽象视觉 +``` + +引据: +> 没有企业知识体系,AI 就是最聪明的笨蛋 + +说明: +> 把分散的知识整理成 AI 能够推理的结构——企业本体 + +--- + +卡片 3 + +``` +[MEDIA-004] +类型:图片或动图 +内容:多节点协同、工作流、代理协作的抽象视觉 +``` + +引据: +> 没有职能设定,AI 就是空中楼阁 + +说明: +> 通过智念体平台配置多个 AI 代理,各司其职,协同推进业务流程 + +--- + +卡片 4 + +``` +[MEDIA-005] +类型:图片 +内容:仪表盘、监控、管理界面的视觉感 +``` + +引据: +> 不能被管理,就不能被信任 + +说明: +> 通过安全审计平台记录 AI 行为日志,数据始终归企业所有 + +--- + +**跳转链接**:查看完整方法论 → /how-we-work + +--- + +### 区块 4 · 我们服务的行业 + +**标题**:我们工作的领域 + +**四个行业**(每个:图片 + 名称 + 说明) + +--- + +旅行社 + +``` +[MEDIA-006] +类型:图片 +内容:旅行、出行、自然风景,无人物 +``` + +> 咨询响应、报价辅助、行程内容生成、产品知识沉淀 + +--- + +景区 + +``` +[MEDIA-007] +类型:图片 +内容:自然景区、山水景观 +``` + +> 游客智能服务、AI 讲解导览、内容生成、运营协同 + +--- + +酒店 + +``` +[MEDIA-008] +类型:图片 +内容:酒店室内空间 +``` + +> 住客服务响应、前台辅助、SOP 培训、OTA 渠道管理 + +--- + +教育机构 + +``` +[MEDIA-009] +类型:图片 +内容:学习、课堂、书桌、专注场景 +``` + +> 招生咨询响应、教务流程协同、内容生成、教师减负 + +--- + +### 区块 5 · 我们相信什么 + +**标题**:我们做事的原则 + +**五条原则**(每条:标题 + 说明) + +--- + +> **业务优先** +> AI 必须进入真实流程,解决具体问题,而不是停留在演示层面 + +> **先理解,再配置** +> 没有对业务的真实理解,就没有真正可用的 AI + +> **知识属于企业** +> 我们帮客户整理知识,这些知识是客户的资产,不是平台的 + +> **可控才能信任** +> 不可追溯的 AI,我们不上线。员工始终有最终判断权 + +> **员工是管理者,不是被取代者** +> AI 负责重复,员工负责判断。协同,不是替代 + +--- + +### 区块 6 · 合作伙伴 + +**标题**:我们合作的机构 + +**说明**: +> 覆盖贵州、湖南、泰国等地的景区、旅行社、酒店和教育机构 + +``` +[MEDIA-010 ~ MEDIA-020] +类型:合作机构 Logo(PNG,透明背景) +数量:待定 +内容:由业主提供各合作方 Logo 文件 +``` + +--- + +### 区块 7 · 联系入口 + +**标题**:联系我们 + +**正文**: +> 如果你在旅行社、景区、酒店或教育机构工作 +> 想了解 AI 能不能帮你做什么,可以直接联系我们 +> 我们会认真回复 + +联系方式(由业主填写): +- 微信 +- 邮件 +- 地址 + +--- + +### 页脚 + +``` +贵州智念科技服务有限公司 +导航:我们如何工作 · 联系我们 +版权:© 2025 NianXX +口号:Together, be better +``` + +--- + +## 二级页 /how-we-work · 我们如何工作 + +--- + +### 页面顶部 + +``` +[MEDIA-021] +类型:图片 +内容:现场感强的工作空间——会议室、办公现场,有人在其中工作 +``` + +**标题**: +> AI 落地,从听懂你的业务开始 + +**副标题**: +> 我们不卖平台,我们陪企业把 AI 真正跑进日常业务流程 +> 每一步都有驻场工程师在现场,每一步都有明确的产出 + +--- + +### 第一步:进入现场,听懂业务 + +**引据**: +> 懂你的人不懂 AI,懂 AI 的人不懂你 + +``` +[MEDIA-022] +类型:图片 +内容:驻场访谈、白板梳理、现场讨论,有人有场景感 +``` + +**正文**: +> AI 项目失败最常见的原因,不是技术不够好 +> 而是没有人同时懂技术和业务 +> +> 我们的 FDE 驻场实施工程师进入你的现场 +> 访谈核心负责人和一线员工 +> 梳理真实的流程、岗位分工、服务规则和例外情况 +> 不靠调研问卷,不靠远程会议——只靠在场 + +**产出**: +- 业务流程地图 +- 可 AI 化任务清单 +- 岗位协同设计方案 + +--- + +### 第二步:把业务知识建成结构 + +**引据**: +> 没有企业知识体系,AI 就是最聪明的笨蛋 + +``` +[MEDIA-023] +类型:图片或动图 +内容:知识图谱、节点连线、结构化的抽象视觉 +备注:若有品牌动图则优先使用 +``` + +**正文**: +> 企业的知识是真实存在的 +> 它藏在老员工的脑子里,散落在文档和聊天记录里 +> 压缩在多年积累的服务规则里 +> +> 我们把这些知识提取出来 +> 整理成 AI 能够调用和推理的结构化形式——企业本体 +> +> 这是整套方案的认知基础,也是企业自己的数据资产 +> 不依附于任何平台,永远归企业所有 + +**产出**: +- 企业本体(业务知识结构) +- 服务规则与例外情况库 +- 产品与流程知识图谱 + +--- + +### 第三步:配置 AI 代理,协同业务流程 + +**引据**: +> 没有职能设定,AI 就是空中楼阁 + +``` +[MEDIA-024] +类型:图片或动图 +内容:多个协同节点的工作流图,抽象但有结构感 +``` + +**正文**: +> AI 代理不是一个全能机器人 +> 它是有明确职责边界的工作单元 +> +> 我们通过智念体平台 +> 按照岗位和流程配置多个 AI 代理协同工作 +> 有的负责响应咨询,有的负责整理资料 +> 有的负责生成内容,有的负责推进流程节点 +> +> 每个代理只做自己该做的事 +> 不越权,不猜测,不在职责边界之外行动 + +**产出**: +- 各岗位 AI 代理配置 +- 协同工作流设计 +- 可运行的业务 AI 协同系统 + +--- + +### 第四步:让企业管理 AI 的运行 + +**引据**: +> 不能被管理,就不能被信任 + +``` +[MEDIA-025] +类型:图片 +内容:管理后台、数据仪表盘、审计界面的视觉感 +备注:可以是界面截图或抽象示意图 +``` + +**正文**: +> AI 能做什么,不能做什么 +> 边界应该由企业来定,而不是平台 +> +> 我们通过安全审计平台 +> 管理每个 AI 代理的权限,记录行为日志 +> 设置需要人工介入的审计节点 +> +> AI 做了什么有记录,出现问题可追溯 +> 数据始终存储在企业指定的位置,归企业所有 + +**产出**: +- 权限管理规则 +- 行为日志与审计机制 +- 人工干预节点设计 + +--- + +### 收尾 + +**标题**:我们不在交付后消失 + +**正文**: +> 项目上线后,我们持续迭代 +> 根据真实业务反馈不断调整 AI 的表现 +> 直到它真正稳定跑进日常流程 + +--- + +## 二级页 /about · 关于我们 / 联系我们 + +--- + +### 页面标题 + +> 关于我们 + +--- + +### 关于我们 + +``` +[MEDIA-026] +类型:图片 +内容:团队工作场景,或贵州在地自然风景 +``` + +**正文**: +> NianXX 智念科技于 2025 年 2 月成立于贵州贵阳,我们专注于AI技术如何落地于企业,拥有自算法备案、知识本体建设方法专利,Agent智能体技术等一系列自主知识产权。已服务旅行社、景区、酒店、教育等行业客户 18 家,帮助企业将真实业务流程转化为可理解、可执行、可审计的 AI 运营体系。 + +--- + +### 联系我们 + +合并在 /about 页面内。 + +**标题**:联系我们 + +**正文**: +> 如果你在旅行社、景区、酒店或教育机构工作 +> 想了解 AI 能不能帮你做什么 +> 可以直接联系我们,我们会认真回复 + +**联系方式**: + +``` +[MEDIA-027] +类型:微信二维码图片(PNG,透明背景) +``` + +- 微信:[二维码] +- 邮件:[待填写] +- 地址:贵州,中国 + +--- + +## 媒体资源清单 + +| 编号 | 所在位置 | 类型 | 内容说明 | +|---|---|---|---| +| MEDIA-001 | 首页 Hero 背景 | 视频/图片 | 抽象空间感 | +| MEDIA-002 | 首页工作方式卡片 1 | 图片 | 现场访谈、面对面交流场景 | +| MEDIA-003 | 首页工作方式卡片 2 | 图片/动图 | 知识结构、节点网络抽象图 | +| MEDIA-004 | 首页工作方式卡片 3 | 图片/动图 | 多节点协同、工作流抽象图 | +| MEDIA-005 | 首页工作方式卡片 4 | 图片 | 仪表盘、管理界面视觉感 | +| MEDIA-006 | 首页行业·旅行社 | 图片 | 旅行/自然风景,无人物 | +| MEDIA-007 | 首页行业·景区 | 图片 | 自然景区、山水景观 | +| MEDIA-008 | 首页行业·酒店 | 图片 | 酒店室内空间 | +| MEDIA-009 | 首页行业·教育 | 图片 | 学习/专注场景 | +| MEDIA-010~020 | 首页及关于我们·合作伙伴 | PNG Logo | 各合作机构 Logo,透明背景,由业主提供 | +| MEDIA-021 | how-we-work 页顶部 | 图片 | 现场工作感,有人在场景中 | +| MEDIA-022 | how-we-work 第一步 | 图片 | 驻场访谈、白板梳理 | +| MEDIA-023 | how-we-work 第二步 | 图片/动图 | 知识图谱、结构化抽象视觉 | +| MEDIA-024 | how-we-work 第三步 | 图片/动图 | 工作流、协同节点抽象视觉 | +| MEDIA-025 | how-we-work 第四步 | 图片 | 管理后台、审计界面感 | +| MEDIA-026 | 关于我们 | 图片 | 团队场景或贵州在地风景 | +| MEDIA-027 | 关于我们·联系方式 | PNG | 微信二维码,透明背景 | diff --git a/index.html b/index.html new file mode 100644 index 0000000..7d563ee --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + NianXX 智念科技 + + +
+ + + diff --git a/logo/2d5b992caa14db16f594c4933e92e37e.png b/logo/2d5b992caa14db16f594c4933e92e37e.png new file mode 100644 index 0000000..2f5bdc2 Binary files /dev/null and b/logo/2d5b992caa14db16f594c4933e92e37e.png differ diff --git a/logo/30d061c264450ff511d048b8d3cca317.png b/logo/30d061c264450ff511d048b8d3cca317.png new file mode 100644 index 0000000..cc2f14b Binary files /dev/null and b/logo/30d061c264450ff511d048b8d3cca317.png differ diff --git a/logo/8e61cfe3a90d14b679e4ce1860740ad8.png b/logo/8e61cfe3a90d14b679e4ce1860740ad8.png new file mode 100644 index 0000000..3df3e94 Binary files /dev/null and b/logo/8e61cfe3a90d14b679e4ce1860740ad8.png differ diff --git a/logo/8f051c36973627d6de92edbb5fbb89e3.png b/logo/8f051c36973627d6de92edbb5fbb89e3.png new file mode 100644 index 0000000..6b1ea98 Binary files /dev/null and b/logo/8f051c36973627d6de92edbb5fbb89e3.png differ diff --git a/logo/904694004cc810262b28b63fca38210a.png b/logo/904694004cc810262b28b63fca38210a.png new file mode 100644 index 0000000..49728b1 Binary files /dev/null and b/logo/904694004cc810262b28b63fca38210a.png differ diff --git a/logo/logo.zip b/logo/logo.zip new file mode 100644 index 0000000..7f5c1d0 Binary files /dev/null and b/logo/logo.zip differ diff --git a/logo/白色矢量.png b/logo/白色矢量.png new file mode 100644 index 0000000..e7b91b7 Binary files /dev/null and b/logo/白色矢量.png differ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ce4b58d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1770 @@ +{ + "name": "nianxx-web", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "nianxx-web", + "version": "0.1.0", + "dependencies": { + "@gsap/react": "^2.1.2", + "@phosphor-icons/react": "^2.1.10", + "@vitejs/plugin-react": "^5.1.1", + "gsap": "^3.15.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "slot-text": "^0.3.1", + "typescript": "^5.9.3", + "vite": "^7.3.0" + }, + "devDependencies": { + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@gsap/react": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@gsap/react/-/react-2.1.2.tgz", + "integrity": "sha512-JqliybO1837UcgH2hVOM4VO+38APk3ECNrsuSM4MuXp+rbf+/2IG2K1YJiqfTcXQHH7XlA0m3ykniFYstfq0Iw==", + "license": "SEE LICENSE AT https://gsap.com/standard-license", + "peerDependencies": { + "gsap": "^3.12.5", + "react": ">=17" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@phosphor-icons/react": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.10.tgz", + "integrity": "sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">= 16.8", + "react-dom": ">= 16.8" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", + "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", + "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", + "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", + "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", + "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", + "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", + "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", + "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", + "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", + "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", + "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", + "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", + "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", + "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", + "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", + "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", + "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", + "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", + "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", + "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", + "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", + "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", + "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", + "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", + "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.38", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.38.tgz", + "integrity": "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz", + "integrity": "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.38", + "caniuse-lite": "^1.0.30001799", + "electron-to-chromium": "^1.5.376", + "node-releases": "^2.0.48", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.378", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.378.tgz", + "integrity": "sha512-VinvOAuuPmdD1guEgGv5f2Qp7/vlfqOrUOMYNnOD4wj3pit8kRsQHzfIf6teyUGWo15Tg5+bOJaRunvyltpVWQ==", + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/gsap": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.15.0.tgz", + "integrity": "sha512-dMW4CWBTUK1AEEDeZc1g4xpPGIrSf9fJF960qbTZmN/QwZIWY5wgliS6JWl9/25fpTGJrMRtSjGtOmPnfjZB+A==", + "license": "Standard 'no charge' license: https://gsap.com/standard-license." + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.49", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.49.tgz", + "integrity": "sha512-f06bl1D+8ZDkn2oOQQKAh5/otFWqVnM1Q5oerA8Pex7UfT66Tx4IPHIqVVFKqFT3FUtaDstdgkM7yT7JWhqxfw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", + "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.2", + "@rollup/rollup-android-arm64": "4.62.2", + "@rollup/rollup-darwin-arm64": "4.62.2", + "@rollup/rollup-darwin-x64": "4.62.2", + "@rollup/rollup-freebsd-arm64": "4.62.2", + "@rollup/rollup-freebsd-x64": "4.62.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", + "@rollup/rollup-linux-arm-musleabihf": "4.62.2", + "@rollup/rollup-linux-arm64-gnu": "4.62.2", + "@rollup/rollup-linux-arm64-musl": "4.62.2", + "@rollup/rollup-linux-loong64-gnu": "4.62.2", + "@rollup/rollup-linux-loong64-musl": "4.62.2", + "@rollup/rollup-linux-ppc64-gnu": "4.62.2", + "@rollup/rollup-linux-ppc64-musl": "4.62.2", + "@rollup/rollup-linux-riscv64-gnu": "4.62.2", + "@rollup/rollup-linux-riscv64-musl": "4.62.2", + "@rollup/rollup-linux-s390x-gnu": "4.62.2", + "@rollup/rollup-linux-x64-gnu": "4.62.2", + "@rollup/rollup-linux-x64-musl": "4.62.2", + "@rollup/rollup-openbsd-x64": "4.62.2", + "@rollup/rollup-openharmony-arm64": "4.62.2", + "@rollup/rollup-win32-arm64-msvc": "4.62.2", + "@rollup/rollup-win32-ia32-msvc": "4.62.2", + "@rollup/rollup-win32-x64-gnu": "4.62.2", + "@rollup/rollup-win32-x64-msvc": "4.62.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/slot-text": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/slot-text/-/slot-text-0.3.1.tgz", + "integrity": "sha512-gDHfMnFrz4CxqD7H8F3CqWVGYwTbgjpJiIH1bQg1Tj60TzgnLe47vuQDHNeyg4zbhsEAPFvUp05nG7lKsboCVw==", + "license": "MIT", + "peerDependencies": { + "react": ">=18 <20", + "solid-js": ">=1.8 <2", + "svelte": ">=4 <6", + "vue": ">=3.4 <4" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "solid-js": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..cc8095e --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "nianxx-web", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite --host 0.0.0.0", + "build": "tsc -b && vite build", + "preview": "vite preview --host 0.0.0.0" + }, + "dependencies": { + "@gsap/react": "^2.1.2", + "@phosphor-icons/react": "^2.1.10", + "@vitejs/plugin-react": "^5.1.1", + "gsap": "^3.15.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "slot-text": "^0.3.1", + "typescript": "^5.9.3", + "vite": "^7.3.0" + }, + "devDependencies": { + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3" + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..7fbbf0c Binary files /dev/null and b/public/favicon.png differ diff --git a/public/hero-poster.jpg b/public/hero-poster.jpg new file mode 100644 index 0000000..9c4ec53 Binary files /dev/null and b/public/hero-poster.jpg differ diff --git a/public/hero-video.mp4 b/public/hero-video.mp4 new file mode 100644 index 0000000..f08303e Binary files /dev/null and b/public/hero-video.mp4 differ diff --git a/public/privacy-policy.html b/public/privacy-policy.html new file mode 100644 index 0000000..0e241cb --- /dev/null +++ b/public/privacy-policy.html @@ -0,0 +1,138 @@ + + + + + + 隐私协议 - AI数字员工 + + + + +
+
AI数字员工
+ +
+
+

隐私协议

+
+ 正在加载隐私协议内容... +
+
+ + + + + \ No newline at end of file diff --git a/public/service-agreement.html b/public/service-agreement.html new file mode 100644 index 0000000..5c9a510 --- /dev/null +++ b/public/service-agreement.html @@ -0,0 +1,135 @@ + + + + + + 服务协议 - AI数字员工 + + + + +
+
AI数字员工
+ +
+
+

服务协议

+
正在加载服务协议内容...
+
+ + + + \ No newline at end of file diff --git a/public/服务协议.txt b/public/服务协议.txt new file mode 100644 index 0000000..e569e33 --- /dev/null +++ b/public/服务协议.txt @@ -0,0 +1,391 @@ +# 智念科技服务小程序服务协议 + +**版本**:1.0 +**生效日期**:2025年8月7日 +**最后更新**:2025年8月7日 + +## 重要提示 + +请您在使用"智念科技服务"小程序(以下简称"本小程序")前,仔细阅读并充分理解本服务协议(以下简称"本协议")的全部内容,特别是免除或者限制责任的条款、对用户权利进行限制的条款、约定争议解决方式的条款等。限制、免责条款或者其他涉及您重大权益的条款可能以加粗、加下划线等形式提示您重点注意。 + +除非您已阅读并接受本协议所有条款,否则您无权使用本小程序提供的服务。您的使用行为将视为对本协议的接受,并同意接受本协议各项条款的约束。 + +## 第一条 协议主体与适用范围 + +### 1.1 协议主体 + +本协议是您(用户)与本企业之间关于使用"智念科技服务"小程序服务所订立的协议。本企业是指提供本小程序服务的企业经营主体,具体信息详见小程序内的企业信息页面。 + +### 1.2 适用范围 + +本协议适用于您通过"智念科技服务"小程序获得的所有服务,包括但不限于智能对话服务、商品预订服务、信息探索服务、服务申请功能等。 + +### 1.3 协议效力 + +本协议自您点击同意或以其他方式确认接受时生效,对双方具有法律约束力。本协议与您可能签署的其他相关协议(如住宿合同、餐饮服务合同等)共同构成完整的法律关系,各协议之间不相冲突的部分同时有效,如有冲突,以具体服务合同为准。 + +## 第二条 服务内容与功能 + +### 2.1 智能对话服务 + +本小程序提供基于人工智能技术的24小时客服对话服务,为您提供企业相关咨询、问题解答、投诉处理等服务。智能对话服务旨在提高服务效率和用户体验,但不能完全替代人工客服。对于复杂问题或紧急情况,系统将为您转接人工客服。 + +我们承诺智能对话服务将努力提供准确、及时的信息,但由于技术限制,可能存在理解偏差或信息更新不及时的情况。**对于因智能对话服务提供的信息不准确而导致的损失,本企业的责任以实际损失为限,且不超过您在本企业的消费金额。** + +### 2.2 商品预订服务 + +本小程序提供客房预订、餐饮预订、增值服务预订等功能。通过本小程序进行的预订行为构成您与本企业之间的服务合同关系。预订服务的具体条款、价格、取消政策等以预订时显示的信息为准。 + +您通过本小程序提交预订申请后,我们将在合理时间内确认您的预订。预订确认以我们发送的确认信息为准。**在收到我们的确认信息前,预订申请不构成有效的合同关系。** + +### 2.3 信息探索服务 + +本小程序提供企业设施介绍、周边服务推荐、旅游信息查询等信息服务。我们努力确保信息的准确性和时效性,但**不对第三方信息的准确性、完整性或时效性承担责任**。您在使用第三方服务时,应自行判断并承担相应风险。 + +### 2.4 服务申请功能 + +本小程序提供客房服务申请、礼宾服务申请、投诉建议提交等功能。我们将根据您的申请及时提供相应服务,具体服务标准和响应时间以企业服务标准为准。 + +## 第三条 用户权利与义务 + +### 3.1 用户权利 + +您在使用本小程序服务时享有以下权利: + +**3.1.1 服务获得权**:有权按照本协议约定获得相应的服务。 + +**3.1.2 信息知情权**:有权了解服务内容、价格、标准等相关信息。 + +**3.1.3 个人信息权利**:根据《中华人民共和国个人信息保护法》,您对自己的个人信息享有知情权、决定权,有权查阅、复制、更正、删除个人信息,有权撤回同意,有权要求解释说明个人信息处理规则。 + +**3.1.4 投诉建议权**:有权对服务质量进行评价,提出投诉和建议。 + +**3.1.5 争议解决权**:有权通过协商、调解、仲裁、诉讼等方式解决争议。 + +### 3.2 用户义务 + +您在使用本小程序服务时应履行以下义务: + +**3.2.1 真实信息义务**:应提供真实、准确、完整的个人信息,如信息发生变更应及时更新。提供虚假信息可能导致服务无法正常提供,由此产生的责任由您承担。 + +**3.2.2 合法使用义务**:应合法、正当地使用本小程序,不得利用本小程序从事违法违规活动,包括但不限于: +- 发布违法、有害、威胁、辱骂、骚扰、侵权、中伤、粗俗、猥亵或其他道德上令人反感的内容 +- 冒充他人身份或虚构与他人的关系 +- 上传、发布含有病毒、木马、蠕虫等恶意代码的内容 +- 干扰或破坏本小程序的正常运行 +- 未经授权访问本小程序的服务器、账户或网络 + +**3.2.3 费用支付义务**:应按照约定及时支付相关费用。 + +**3.2.4 配合义务**:应配合企业的合理要求,如身份验证、安全检查等。 + +**3.2.5 保密义务**:对于在使用服务过程中获知的企业商业秘密和其他保密信息,应承担保密义务。 + + +## 第四条 企业权利与义务 + +### 4.1 企业权利 + +**4.1.1 服务标准制定权**:有权根据经营需要和法律法规要求制定服务标准和操作规程。 + +**4.1.2 用户管理权**:有权对违反本协议或法律法规的用户采取警告、限制使用、终止服务等措施。 + +**4.1.3 信息核实权**:有权要求用户提供真实身份信息并进行核实,对于无法核实身份的用户有权拒绝提供服务。 + +**4.1.4 价格调整权**:有权根据市场情况、成本变化等因素调整服务价格,但应提前通知用户。 + +**4.1.5 服务变更权**:因技术升级、政策调整等原因需要变更服务内容的,有权进行调整,但应提前通知用户并妥善处理用户的合理要求。 + +### 4.2 企业义务 + +**4.2.1 服务提供义务**:应按照约定的标准和时间提供服务,确保服务质量符合行业标准和用户合理期待。 + +**4.2.2 安全保障义务**:应采取必要的技术和管理措施,保障小程序的正常运行和用户信息安全。对于用户在企业区域内的人身和财产安全,应尽到合理的安全保障义务。 + +**4.2.3 信息保护义务**:应严格按照《中华人民共和国个人信息保护法》等法律法规的要求,保护用户个人信息安全,不得非法收集、使用、泄露用户个人信息。 + +**4.2.4 告知义务**:应及时、准确地向用户告知服务内容、价格、标准、风险等重要信息。 + +**4.2.5 投诉处理义务**:应建立有效的投诉处理机制,及时处理用户的投诉和建议。 + +**4.2.6 法律合规义务**:应确保提供的服务符合国家法律法规和行业标准要求。 + +## 第五条 费用与支付 + +### 5.1 费用构成 + +使用本小程序基础功能(如信息查询、智能对话等)免费。涉及具体服务预订的,按照预订时显示的价格收费。费用可能包括但不限于: +- 客房费用 +- 餐饮费用 +- 增值服务费用 +- 相关税费 + +### 5.2 支付方式 + +本小程序支持微信支付等电子支付方式。您选择的支付方式应确保资金来源合法,支付过程中产生的银行手续费等费用按照相关机构的规定执行。 + +### 5.3 价格变更 + +我们保留根据市场情况调整价格的权利,但已确认的订单价格不受影响。价格调整将通过小程序公告或其他适当方式提前通知。 + +### 5.4 退款政策 + +退款政策根据具体服务类型而定,详见各项服务的具体条款。**一般情况下,因用户原因取消订单的,可能需要承担相应的取消费用。因不可抗力或企业原因无法提供服务的,将全额退款。** + +## 第六条 知识产权 + +### 6.1 小程序知识产权 + +本小程序及其包含的所有内容(包括但不限于文字、图片、音频、视频、软件、程序、版面设计等)的知识产权均归本企业或相关权利人所有。未经书面许可,您不得复制、传播、展示、镜像、上传、下载使用上述内容。 + +### 6.2 商标权 + +"智念科技服务"及相关标识为本企业的商标或标识,受法律保护。未经许可,任何人不得使用。 + +### 6.3 用户内容 + +您在使用本小程序过程中提供的内容(如评价、建议等),您保证拥有相应权利或已获得必要授权。您同意授予本企业免费、非独占的使用权,用于改进服务质量和用户体验。 + +### 6.4 侵权处理 + +如发现侵犯知识产权的行为,请及时联系我们。我们将依法处理侵权行为,保护合法权益。 + +## 第七条 责任限制与免责条款 + +### 7.1 服务可用性 + +**我们努力确保本小程序的稳定运行,但不保证服务不会中断。因以下原因导致的服务中断或无法使用,本企业不承担责任:** +- 系统维护、升级 +- 网络故障、电力中断 +- 不可抗力因素 +- 第三方服务提供商的原因 +- 用户设备或网络环境问题 + +### 7.2 信息准确性 + +**我们努力确保小程序内信息的准确性,但不对信息的完全准确性、及时性、完整性作出保证。特别是第三方提供的信息(如天气、交通等),我们不承担因信息不准确导致的损失。** + +### 7.3 责任限制 + +**在法律允许的最大范围内,本企业对于因使用本小程序而产生的任何直接、间接、偶然、特殊或后果性损害,不承担责任。即使本企业已被告知此类损害的可能性。** + +**本企业的总责任(无论基于合同、侵权或其他法律理论)不超过您在过去十二个月内向本企业支付的费用总额。** + +### 7.4 免责情形 + +**以下情况下本企业不承担责任:** +- 用户违反本协议或法律法规的行为 +- 用户设备损坏、数据丢失等 +- 第三方的违法行为或违约行为 +- 不可抗力因素 +- 用户自身过错导致的损失 + +## 第八条 个人信息保护 + +### 8.1 个人信息处理原则 + +我们严格按照《中华人民共和国个人信息保护法》等法律法规处理您的个人信息,遵循合法、正当、必要和诚信原则,不会通过误导、欺诈、胁迫等方式处理您的个人信息。 + +### 8.2 个人信息范围 + +我们可能收集和处理的个人信息包括但不限于: +- 基本信息:姓名、性别、年龄、身份证号、手机号码、邮箱地址 +- 住宿信息:入住日期、离店日期、房间偏好、特殊需求 +- 支付信息:支付方式、交易记录 +- 使用信息:操作记录、浏览记录、设备信息 +- 位置信息:GPS位置、IP地址 +- 其他信息:客服沟通记录、评价反馈等 + +### 8.3 处理目的和法律依据 + +我们处理您的个人信息主要用于: +- 提供预订和住宿服务(法律依据:履行合同) +- 客户服务和沟通(法律依据:履行合同) +- 改进服务质量(法律依据:合法利益) +- 个性化推荐(法律依据:用户同意) +- 安全保障和风险防控(法律依据:合法利益) +- 法律法规要求(法律依据:法定义务) + +### 8.4 信息共享和转移 + +**我们不会向第三方出售、出租或以其他方式披露您的个人信息,除非:** +- 获得您的明确同意 +- 法律法规要求 +- 司法机关或行政机关要求 +- 为保护我们或他人的合法权益 +- 与服务提供相关的必要共享(如支付服务商) + +### 8.5 信息安全保护 + +我们采取适当的技术和管理措施保护您的个人信息安全,包括: +- 数据加密传输和存储 +- 访问权限控制 +- 安全审计和监控 +- 员工培训和保密协议 +- 定期安全评估 + +### 8.6 您的权利 + +根据法律规定,您享有以下权利: +- 知情权:了解个人信息处理情况 +- 决定权:同意或拒绝个人信息处理 +- 查阅权:查阅我们持有的您的个人信息 +- 更正权:要求更正不准确的个人信息 +- 删除权:要求删除个人信息 +- 撤回同意权:撤回已给出的同意 + +详细的个人信息保护规则请参见《隐私协议》。 + + +## 第九条 协议变更与通知 + +### 9.1 协议修改 + +我们保留随时修改本协议的权利。协议修改后,我们将通过以下方式通知您: +- 在小程序内发布公告 +- 向您的注册邮箱发送邮件 +- 通过短信通知 +- 其他合理方式 + +### 9.2 修改生效 + +协议修改自公告发布之日起30日后生效。如您在修改生效后继续使用本小程序,视为您接受修改后的协议。如您不同意修改内容,应停止使用本小程序。 + +### 9.3 重大变更 + +对于涉及您重大权益的协议变更,我们将采用更为显著的方式通知您,并可能要求您重新确认同意。 + +## 第十条 服务终止 + +### 10.1 用户终止 + +您可以随时停止使用本小程序服务。如需注销账户或删除个人信息,请通过小程序内的相关功能或联系客服办理。 + +### 10.2 企业终止 + +**在以下情况下,我们有权终止向您提供服务:** +- 您违反本协议的重要条款 +- 您从事违法违规活动 +- 您恶意攻击或破坏系统 +- 您长期不使用服务(超过2年) +- 法律法规要求 +- 其他严重影响服务秩序的行为 + +### 10.3 终止后果 + +服务终止后: +- 您将无法继续使用本小程序服务 +- 我们将停止为您提供技术支持 +- 根据法律要求和您的选择,处理您的个人信息 +- 已产生的权利义务关系不因服务终止而消除 + +## 第十一条 不可抗力 + +### 11.1 不可抗力定义 + +不可抗力是指不能预见、不能避免且不能克服的客观情况,包括但不限于: +- 自然灾害(地震、洪水、台风等) +- 政府行为(法律法规变更、政策调整等) +- 社会异常事件(战争、罢工、疫情等) +- 技术故障(网络中断、服务器故障等) + +### 11.2 不可抗力后果 + +**因不可抗力导致的服务中断、延迟或无法履行,双方均不承担违约责任。但应及时通知对方,并采取适当措施减少损失。** + +### 11.3 损失分担 + +因不可抗力造成的损失,按以下原则处理: +- 各自承担自己的损失 +- 已支付但未享受的服务费用,根据实际情况退还 +- 合理分担因不可抗力产生的额外费用 + +## 第十二条 争议解决 + +### 12.1 协商解决 + +双方发生争议时,应首先通过友好协商解决。您可以通过以下方式联系我们: +- 小程序内客服功能 +- 客服电话:[具体电话号码] +- 客服邮箱:[具体邮箱地址] +- 企业前台:[具体地址] + +### 12.2 调解解决 + +协商不成的,可以向消费者协会、行业协会等第三方调解机构申请调解。 + +### 12.3 仲裁解决 + +**如协商和调解均无法解决争议,双方同意将争议提交[具体仲裁委员会]仲裁解决。仲裁裁决是终局的,对双方均有约束力。** + +### 12.4 诉讼解决 + +不愿仲裁的,可以向有管辖权的人民法院提起诉讼。根据《中华人民共和国民事诉讼法》,因本协议产生的争议,由被告住所地或合同履行地人民法院管辖。 + +## 第十三条 其他条款 + +### 13.1 完整协议 + +本协议构成双方就本小程序服务达成的完整协议,取代之前就同一事项达成的所有口头或书面协议。 + +### 13.2 可分割性 + +如本协议的任何条款被认定为无效或不可执行,该条款将被删除,但不影响其他条款的效力。 + +### 13.3 标题条款 + +本协议的标题仅为方便阅读而设,不影响条款的解释。 + +### 13.4 适用法律 + +本协议的签订、履行、解释及争议解决均适用中华人民共和国法律。 + +### 13.5 语言版本 + +本协议以中文为准。如有其他语言版本,以中文版本为准。 + +### 13.6 联系方式 + +如您对本协议有任何疑问,请通过以下方式联系我们: + +**企业名称**:[具体企业名称] +**注册地址**:[具体注册地址] +**联系电话**:[具体电话号码] +**电子邮箱**:[具体邮箱地址] +**营业执照注册号**:[具体注册号] +**法定代表人**:[具体姓名] + +## 附录:重要提示汇总 + +为确保您充分了解自己的权利和义务,现将本协议中的重要条款汇总如下: + +### 责任限制条款 +1. 第2.1条:智能对话服务的责任限制 +2. 第2.2条:预订确认的生效条件 +3. 第2.3条:第三方信息的免责声明 +4. 第5.4条:退款政策的限制条件 +5. 第7条:全面的责任限制和免责条款 + +### 用户义务条款 +1. 第3.2条:用户的各项义务,包括提供真实信息、合法使用等 +2. 第5.2条:支付义务和资金来源合法性要求 + +### 争议解决条款 +1. 第12.3条:仲裁解决条款 +2. 第12.4条:诉讼管辖条款 + +### 协议变更条款 +1. 第9条:协议修改的通知方式和生效条件 + +### 服务终止条款 +1. 第10.2条:企业终止服务的条件 + +**请您特别注意上述条款,如有疑问请及时联系我们。** + +--- + +**本协议最终解释权归本企业所有。** + +**协议版本:1.0** +**生效日期:2025年8月7日** + diff --git a/public/隐私协议.txt b/public/隐私协议.txt new file mode 100644 index 0000000..7921e56 --- /dev/null +++ b/public/隐私协议.txt @@ -0,0 +1,585 @@ +# 智念科技服务小程序隐私协议 + +**版本**:1.0 +**生效日期**:2025年8月7日 +**最后更新**:2025年8月7日 + +## 重要提示 + +本隐私协议(以下简称"本协议")是您(用户)与本企业之间关于"智念科技服务"小程序(以下简称"本小程序")个人信息保护的重要协议。 + +我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:权责一致原则、目的明确原则、选择同意原则、最少够用原则、确保安全原则、主体参与原则、公开透明原则等。 + +**请您在使用本小程序前,仔细阅读并充分理解本协议的全部内容。如果您不同意本协议的任何内容,您应立即停止使用本小程序。您使用本小程序的行为将视为对本协议的接受。** + +本协议将帮助您了解以下内容: +- 我们如何收集和使用您的个人信息 +- 我们如何使用Cookie和同类技术 +- 我们如何共享、转让、公开披露您的个人信息 +- 我们如何保护您的个人信息 +- 您的权利 +- 我们如何处理儿童的个人信息 +- 您的个人信息如何在全球范围转移 +- 本协议如何更新 +- 如何联系我们 + +## 第一条 我们如何收集和使用您的个人信息 + +根据《中华人民共和国个人信息保护法》的规定,个人信息是以电子或者其他方式记录的与已识别或者可识别的自然人有关的各种信息,不包括匿名化处理后的信息。我们会按照如下方式收集和使用您的个人信息: + +### 1.1 我们收集的个人信息类型 + +#### 1.1.1 您主动提供的信息 + +**账户注册信息**:当您注册使用本小程序时,我们会收集您的微信昵称、头像等基本信息。这些信息是通过微信授权获得的,用于创建您的账户和提供个性化服务。 + +**身份验证信息**:为了确保服务安全和满足法律要求,我们可能需要收集您的真实姓名、身份证号码、手机号码等身份信息。特别是在您进行预订服务时,根据《旅馆业治安管理办法》等法规要求,我们需要进行实名登记。 + +**联系信息**:包括您的手机号码、电子邮箱地址、通讯地址等,用于与您联系、发送服务通知、处理订单等。 + +**预订信息**:当您使用预订功能时,我们会收集您的入住日期、离店日期、房间类型偏好、特殊需求说明、同行人员信息等。 + +**支付信息**:为了完成交易,我们会收集您选择的支付方式信息。但我们不会直接存储您的银行卡号、密码等敏感支付信息,这些信息由第三方支付服务提供商处理。 + +**服务申请信息**:当您申请各类企业服务时,我们会收集您的具体需求、服务时间要求、联系方式等信息。 + +#### 1.1.2 我们自动收集的信息 + +**设备信息**:我们会收集您使用的设备信息,包括设备型号、操作系统版本、设备标识符、屏幕分辨率等。这些信息帮助我们优化小程序性能,提供更好的用户体验。 + +**日志信息**:当您使用本小程序时,我们的服务器会自动记录一些信息,包括您的IP地址、访问时间、访问页面、停留时长、点击行为等。这些信息用于分析用户行为,改进服务质量。 + +**位置信息**:在您明确同意的情况下,我们会收集您的地理位置信息,用于提供基于位置的服务推荐,如附近景点、餐厅等信息。您可以随时在设备设置中关闭位置服务。 + +**使用偏好信息**:我们会记录您在使用小程序过程中的偏好设置、浏览历史、搜索记录等,用于为您提供个性化的内容推荐。 + +### 1.2 我们如何使用您的个人信息 + +我们会出于以下目的,运用相应的个人信息: + +#### 1.2.1 提供基础服务 + +**账户管理**:使用您的注册信息创建和管理您的账户,验证您的身份,保障账户安全。 + +**预订服务**:使用您的预订信息和联系信息处理您的预订申请,安排相应的服务,与您就预订事宜进行沟通。 + +**客户服务**:使用您的联系信息和服务历史为您提供客户支持,处理您的咨询、投诉和建议。 + +**支付处理**:使用您的支付信息完成交易,处理退款,防范支付风险。 + +#### 1.2.2 改进和优化服务 + +**服务分析**:分析您的使用行为和偏好,了解服务使用情况,优化产品功能和用户体验。 + +**个性化推荐**:基于您的历史行为、偏好设置和位置信息,为您推荐可能感兴趣的服务和内容。 + +**技术优化**:使用设备信息和日志信息优化小程序性能,修复技术问题,提升服务稳定性。 + +#### 1.2.3 安全保障 + +**安全防护**:监测和防范安全威胁,保护您的账户和信息安全,防止欺诈行为。 + +**风险控制**:识别和预防可能的风险行为,保障服务的正常运行。 + +**合规要求**:满足法律法规要求,如实名制登记、反洗钱等合规义务。 + +#### 1.2.4 营销推广 + +在获得您明确同意的前提下,我们可能会使用您的联系信息向您发送营销信息,包括优惠活动、新服务介绍等。您可以随时选择退订此类信息。 + +### 1.3 个人信息处理的法律依据 + +根据《中华人民共和国个人信息保护法》第十三条的规定,我们处理您的个人信息基于以下法律依据: + +**履行合同所必需**:为了向您提供预订、住宿等服务,我们需要处理相关的个人信息。 + +**征得您的同意**:对于非必需的信息处理,我们会征得您的明确同意。 + +**履行法定义务**:根据相关法律法规要求,如实名制登记、税务申报等。 + +**保护重要合法权益**:为了保护您或他人的生命健康、财产安全等重要合法权益。 + +**合法利益**:基于我们的合法利益进行必要的信息处理,但不会损害您的基本权利和自由。 + +### 1.4 敏感个人信息的处理 + +根据《中华人民共和国个人信息保护法》第二十八条的规定,敏感个人信息是一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息。 + +我们可能处理的敏感个人信息包括: + +**身份证件号码**:用于实名验证和法律合规要求。 + +**生物识别信息**:如人脸识别信息,仅在您明确同意并且为了特定安全目的时使用。 + +**位置信息**:精确的地理位置信息,仅在您明确授权的情况下收集和使用。 + +**金融账户信息**:支付相关的账户信息,用于完成交易。 + +对于敏感个人信息的处理,我们会: +- 获得您的单独同意 +- 告知您处理的必要性以及对您权益的影响 +- 采取更加严格的安全保护措施 +- 限制处理目的和使用范围 +- 定期评估处理的必要性 + + +## 第二条 我们如何使用Cookie和同类技术 + +### 2.1 Cookie技术说明 + +Cookie是一种网络技术,当您访问设置了Cookie的网站时,网站会在您的设备上存储小型文本文件。我们使用Cookie和类似技术来提供、保护和改进我们的服务。 + +### 2.2 我们使用的Cookie类型 + +**必要Cookie**:这些Cookie对于小程序的正常运行是必需的,包括身份验证、安全防护、基本功能实现等。这些Cookie无法被禁用。 + +**功能Cookie**:这些Cookie用于记住您的偏好设置,如语言选择、字体大小等,以提供更个性化的体验。 + +**分析Cookie**:这些Cookie帮助我们了解用户如何使用小程序,包括访问页面、使用功能的统计信息,用于改进服务质量。 + +**营销Cookie**:在您同意的情况下,这些Cookie用于向您展示相关的广告和推荐内容。 + +### 2.3 您的选择权 + +您可以通过以下方式管理Cookie: +- 在小程序设置中调整Cookie偏好 +- 在设备浏览器设置中管理Cookie +- 联系我们获取帮助 + +请注意,禁用某些Cookie可能会影响小程序的正常功能。 + +## 第三条 我们如何共享、转让、公开披露您的个人信息 + +我们承诺不会将您的个人信息出售给任何第三方。在以下情况下,我们可能会共享、转让或公开披露您的个人信息: + +### 3.1 信息共享 + +#### 3.1.1 获得您的明确同意 + +在获得您的明确同意后,我们会与第三方共享您的个人信息。 + +#### 3.1.2 服务提供商 + +我们可能会与以下类型的服务提供商共享必要的个人信息: + +**支付服务商**:为了完成支付交易,我们会与微信支付等第三方支付平台共享必要的交易信息。 + +**云服务提供商**:我们使用云服务来存储和处理数据,会与云服务提供商共享必要的技术数据。 + +**客服服务商**:为了提供客户服务,我们可能与第三方客服平台共享相关的沟通信息。 + +**营销服务商**:在您同意的情况下,我们可能与营销服务商共享信息以提供个性化推荐。 + +我们会与这些服务提供商签署严格的数据处理协议,要求他们按照我们的指示处理个人信息,并采取适当的安全措施。 + +#### 3.1.3 关联公司 + +我们可能与我们的关联公司共享您的个人信息,以提供一致的服务体验。所有关联公司都会遵循本隐私协议的要求。 + +#### 3.1.4 法律要求 + +在以下情况下,我们可能会共享您的个人信息: +- 遵守适用的法律法规 +- 遵守法院命令或其他法律程序 +- 遵守相关政府机关的要求 +- 为维护我们的合法权益 + +### 3.2 信息转让 + +除以下情况外,我们不会将您的个人信息转让给任何第三方: + +**企业重组**:如果我们发生合并、收购或资产转让,您的个人信息可能会作为此类交易的一部分被转让。我们会要求新的持有者继续受本隐私协议的约束。 + +**法律要求**:根据法律法规要求进行的转让。 + +在任何情况下,我们都会事先通知您,并确保接收方承诺提供不低于本协议的保护水平。 + +### 3.3 公开披露 + +我们仅会在以下情况下公开披露您的个人信息: + +**获得您的明确同意**:在获得您的明确同意后进行公开披露。 + +**法律要求**:基于法律、法规、法律程序、诉讼或政府主管部门强制性要求。 + +**维护权益**:为维护我们或其他用户的合法权益。 + +## 第四条 我们如何保护您的个人信息 + +我们非常重视个人信息安全,采用符合业界标准的安全保护措施,保护您的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。 + +### 4.1 技术安全措施 + +**数据加密**:我们使用加密技术对您的个人信息进行加密存储和传输,确保数据在传输过程中的安全性。 + +**访问控制**:我们建立了严格的访问控制机制,只有经过授权的人员才能访问个人信息,并且访问权限基于工作需要进行最小化授权。 + +**安全审计**:我们定期进行安全审计,监控系统安全状况,及时发现和处理安全威胁。 + +**数据备份**:我们建立了完善的数据备份机制,确保在发生意外情况时能够及时恢复数据。 + +**网络安全**:我们部署了防火墙、入侵检测系统等网络安全设备,保护系统免受网络攻击。 + +### 4.2 管理安全措施 + +**人员管理**:我们对处理个人信息的员工进行严格的背景调查和安全培训,签署保密协议,确保员工了解并遵守个人信息保护要求。 + +**制度建设**:我们建立了完善的个人信息保护管理制度,包括数据分类分级、访问权限管理、安全事件响应等制度。 + +**供应商管理**:我们对第三方服务提供商进行严格的安全评估,要求其提供充分的安全保障,并签署数据处理协议。 + +**定期评估**:我们定期对个人信息保护措施进行评估和改进,确保安全措施的有效性。 + +### 4.3 安全事件响应 + +**事件监控**:我们建立了24小时安全监控机制,及时发现安全异常。 + +**应急响应**:一旦发生个人信息安全事件,我们会立即启动应急响应程序,采取措施控制事件影响范围。 + +**事件通知**:根据法律要求,我们会及时向相关监管部门报告安全事件,并在必要时通知受影响的用户。 + +**事件处理**:我们会对安全事件进行彻底调查,分析原因,采取改进措施,防止类似事件再次发生。 + +### 4.4 数据存储安全 + +**存储位置**:您的个人信息主要存储在中华人民共和国境内的服务器上。 + +**存储期限**:我们仅在实现处理目的所必需的期限内保留您的个人信息。具体保留期限如下: +- 账户信息:账户存续期间及注销后6个月 +- 交易记录:交易完成后5年(税务要求) +- 日志信息:6个月 +- 营销信息:您撤回同意后立即删除 + +**安全删除**:超过保留期限的个人信息将被安全删除或匿名化处理。 + +## 第五条 您的权利 + +根据《中华人民共和国个人信息保护法》,您对自己的个人信息享有以下权利: + +### 5.1 知情权 + +您有权了解我们处理您个人信息的情况,包括: +- 处理目的、处理方式 +- 处理的个人信息种类、保存期限 +- 个人信息的来源 +- 向第三方提供个人信息的情况 +- 您可以行使的权利和方式 + +### 5.2 决定权 + +您有权决定是否同意我们处理您的个人信息,包括: +- 同意我们收集和使用您的个人信息 +- 选择接收或拒绝营销信息 +- 选择是否使用某些功能 + +### 5.3 查阅权 + +您有权查阅我们持有的您的个人信息。您可以通过以下方式行使查阅权: +- 在小程序中查看个人信息 +- 联系客服申请查阅 +- 发送邮件至我们的隐私邮箱 + +### 5.4 复制权 + +您有权获得您的个人信息副本。我们会在验证您的身份后,以安全的方式向您提供个人信息副本。 + +### 5.5 更正权 + +如果您发现我们处理的关于您的个人信息有错误,您有权要求我们更正。您可以通过以下方式申请更正: +- 在小程序中直接修改 +- 联系客服申请更正 +- 发送邮件说明需要更正的内容 + +### 5.6 删除权 + +在以下情况下,您有权要求我们删除您的个人信息: +- 处理目的已实现、无法实现或者为实现处理目的不再必要 +- 我们停止提供产品或者服务,或者保存期限已届满 +- 您撤回同意 +- 我们违法处理您的个人信息 +- 法律、行政法规规定的其他情形 + +### 5.7 撤回同意权 + +对于基于您同意处理的个人信息,您有权随时撤回同意。撤回同意不会影响撤回前基于您同意已进行的个人信息处理活动的效力。 + +### 5.8 解释说明权 + +您有权要求我们对个人信息处理规则进行解释说明。 + +### 5.9 权利行使方式 + +您可以通过以下方式行使上述权利: + +**小程序内功能**:通过小程序内的隐私设置功能直接操作。 + +**客服联系**: +- 客服电话:[具体电话号码] +- 在线客服:小程序内客服功能 +- 客服邮箱:[具体邮箱地址] + +**书面申请**:向我们的注册地址发送书面申请。 + +为了保护您的个人信息安全,我们可能需要您提供身份证明。我们会在15个工作日内回复您的请求。 + +### 5.10 权利限制 + +在以下情况下,我们可能无法响应您的请求: +- 与我们履行法律法规规定的义务相关的 +- 与国家安全、国防安全直接相关的 +- 与公共安全、公共卫生、重大公共利益直接相关的 +- 与刑事侦查、起诉、审判和执行判决等直接相关的 +- 我们有充分证据表明您存在主观恶意或滥用权利的 +- 响应您的请求将导致您或其他个人、组织的合法权益受到严重损害的 +- 涉及商业秘密的 + + +## 第六条 我们如何处理儿童的个人信息 + +我们非常重视儿童个人信息的保护。根据《中华人民共和国个人信息保护法》和《儿童个人信息网络保护规定》,我们对儿童个人信息的处理遵循以下原则: + +### 6.1 儿童定义 + +本协议中的"儿童"是指不满十四周岁的未成年人。 + +### 6.2 儿童信息收集原则 + +**最小必要原则**:我们仅在为儿童提供服务所必需的范围内收集儿童个人信息。 + +**监护人同意原则**:收集儿童个人信息前,我们会征得儿童监护人的同意。 + +**特殊保护原则**:对儿童个人信息采用更高的安全保护标准。 + +### 6.3 监护人权利 + +如果您是儿童的监护人,您有权: +- 同意或拒绝我们收集、使用儿童的个人信息 +- 查阅、更正、删除儿童的个人信息 +- 拒绝我们进一步收集、使用儿童的个人信息 + +### 6.4 特殊保护措施 + +**单独同意**:对于儿童个人信息的处理,我们会征得监护人的单独同意。 + +**显著标识**:在收集儿童个人信息的页面,我们会进行显著标识。 + +**安全存储**:儿童个人信息采用更高级别的加密和安全措施。 + +**定期删除**:我们会定期删除超过必要保存期限的儿童个人信息。 + +### 6.5 发现未经同意收集 + +如果我们发现在未事先获得可证实的监护人同意的情况下收集了儿童的个人信息,会设法尽快删除相关数据。 + +## 第七条 您的个人信息如何在全球范围转移 + +### 7.1 境内存储原则 + +您的个人信息主要存储在中华人民共和国境内。我们承诺,在中华人民共和国境内收集和产生的个人信息,将存储在中华人民共和国境内。 + +### 7.2 跨境传输情形 + +在以下情况下,我们可能需要向境外传输您的个人信息: + +**技术支持**:为了提供技术支持和维护服务,可能需要向境外的技术服务提供商传输必要的技术数据。 + +**关联公司**:向我们的境外关联公司传输信息以提供一致的服务体验。 + +**法律要求**:根据法律法规要求或司法、行政机关要求。 + +### 7.3 跨境传输保护措施 + +如确需向境外传输您的个人信息,我们会: + +**获得同意**:事先征得您的单独同意。 + +**安全评估**:进行个人信息保护影响评估。 + +**合同保障**:与境外接收方签署数据传输协议,确保其提供充分的保护水平。 + +**监管报告**:按照法律要求向相关监管部门报告。 + +**持续监督**:对境外处理活动进行持续监督。 + +### 7.4 境外接收方义务 + +境外接收方应当: +- 遵守中华人民共和国个人信息保护法律法规 +- 提供不低于本协议的保护水平 +- 接受我们的监督和审计 +- 在发生安全事件时及时通知我们 + +## 第八条 本协议如何更新 + +### 8.1 更新原因 + +我们可能会因以下原因更新本隐私协议: +- 法律法规发生变化 +- 业务功能发生重大变化 +- 技术环境发生变化 +- 为了更好地保护您的权益 + +### 8.2 更新通知 + +当我们更新本协议时,会通过以下方式通知您: +- 在小程序内发布更新公告 +- 向您的注册邮箱发送邮件通知 +- 通过短信方式通知 +- 在小程序启动时弹窗提醒 + +### 8.3 重大变更 + +对于重大变更,我们会: +- 提前30天通知您 +- 以更显著的方式通知您 +- 重新征求您的同意 +- 提供拒绝选项和相应后果说明 + +重大变更包括但不限于: +- 处理目的、处理的个人信息类型、个人信息的使用方式发生重大变化 +- 个人信息共享、转让或公开披露的主要对象发生变化 +- 您参与个人信息处理方面的权利及其行使方式发生重大变化 +- 我们的联系方式及投诉渠道发生变化 +- 个人信息安全影响评估报告表明存在高风险时 + +### 8.4 生效时间 + +更新后的协议自公布之日起30天后生效。如果您在协议生效后继续使用我们的服务,即表示您同意接受更新后的协议。 + +## 第九条 如何联系我们 + +### 9.1 一般联系方式 + +如果您对本隐私协议有任何疑问、意见或建议,或者需要行使您的个人信息权利,可以通过以下方式联系我们: + +**企业信息**: +- 企业名称:[具体企业名称] +- 注册地址:[具体注册地址] +- 法定代表人:[具体姓名] +- 营业执照注册号:[具体注册号] + +**联系方式**: +- 客服电话:[具体电话号码](服务时间:9:00-21:00) +- 客服邮箱:[具体邮箱地址] +- 隐私专用邮箱:privacy@[企业域名] +- 在线客服:小程序内客服功能 +- 通讯地址:[具体通讯地址] + +### 9.2 个人信息保护负责人 + +我们设立了个人信息保护负责人,负责处理个人信息保护相关事务: + +**姓名**:[负责人姓名] +**职务**:个人信息保护负责人 +**联系邮箱**:dpo@[企业域名] +**联系电话**:[专用电话号码] + +### 9.3 响应时间 + +我们承诺在收到您的咨询或申请后: +- 一般咨询:3个工作日内回复 +- 权利行使申请:15个工作日内处理完成 +- 投诉举报:7个工作日内回复处理结果 +- 紧急安全事件:24小时内响应 + +### 9.4 监管部门联系方式 + +如果您认为我们的个人信息处理活动损害了您的合法权益,您也可以向有关监管部门投诉举报: + +**国家网信办**: +- 网站:www.cac.gov.cn +- 举报电话:12377 + +**工信部**: +- 网站:www.miit.gov.cn +- 举报电话:12381 + +**当地网信办**: +- 可通过当地政府网站查询联系方式 + +## 第十条 其他重要事项 + +### 10.1 协议效力 + +本隐私协议是《智念科技服务小程序服务协议》的重要组成部分,与服务协议具有同等法律效力。如本协议与服务协议存在不一致之处,以本协议为准。 + +### 10.2 适用法律 + +本协议的解释、效力及纠纷的解决,适用中华人民共和国法律。如就本协议内容或其执行发生任何争议,应尽量友好协商解决;协商不成时,则争议各方同意提交有管辖权的人民法院诉讼解决。 + +### 10.3 可分割性 + +若本协议的任何条款被有管辖权的法院认定为无效,则该条款将从本协议中删除,但本协议的其余条款仍应有效并且可执行。 + +### 10.4 语言版本 + +本协议以中文版本为准。如本协议有其他语言版本,当不同语言版本之间存在冲突时,以中文版本为准。 + +### 10.5 定义解释 + +本协议中使用的特定术语的含义如下: + +**个人信息**:以电子或者其他方式记录的与已识别或者可识别的自然人有关的各种信息,不包括匿名化处理后的信息。 + +**敏感个人信息**:一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息。 + +**个人信息处理**:个人信息的收集、存储、使用、加工、传输、提供、公开、删除等。 + +**匿名化**:个人信息经过处理无法识别特定自然人且不能复原的过程。 + +**去标识化**:个人信息经过处理,使其在不借助额外信息的情况下无法识别特定自然人的过程。 + +## 附录:个人信息处理活动记录 + +为了提高透明度,我们在此列出主要的个人信息处理活动: + +### A.1 智能对话功能 + +| 项目 | 内容 | +|------|------| +| 处理目的 | 提供AI客服对话服务 | +| 信息类型 | 对话内容、使用记录、设备信息 | +| 法律依据 | 履行合同、用户同意 | +| 保存期限 | 6个月 | +| 共享对象 | AI服务提供商 | + +### A.2 预订服务功能 + +| 项目 | 内容 | +|------|------| +| 处理目的 | 处理预订申请、提供住宿服务 | +| 信息类型 | 身份信息、联系信息、预订信息、支付信息 | +| 法律依据 | 履行合同、法定义务 | +| 保存期限 | 5年(税务要求) | +| 共享对象 | 支付服务商、监管部门 | + +### A.3 位置服务功能 + +| 项目 | 内容 | +|------|------| +| 处理目的 | 提供基于位置的推荐服务 | +| 信息类型 | 地理位置信息 | +| 法律依据 | 用户同意 | +| 保存期限 | 使用期间 | +| 共享对象 | 地图服务提供商 | + +### A.4 营销推广功能 + +| 项目 | 内容 | +|------|------| +| 处理目的 | 发送营销信息、个性化推荐 | +| 信息类型 | 联系信息、偏好信息、行为数据 | +| 法律依据 | 用户同意 | +| 保存期限 | 同意撤回后立即删除 | +| 共享对象 | 营销服务商 | + +--- + +**本隐私协议最终解释权归本企业所有。** + +**协议版本:1.0** +**生效日期:2025年8月7日** +**最后更新:2025年8月7日** + +我们承诺严格遵守本协议,保护您的个人信息安全。感谢您对我们的信任! + diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..80a2f76 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,317 @@ +import { useEffect, useState } from "react"; +import { + EnvelopeSimple, + Fingerprint, + Handshake, + Phone, + Target, +} from "@phosphor-icons/react"; +import { + defaultLanguage, + isLanguage, + siteContent, + type Language, + type SiteContent, +} from "./content"; +import { ActionLink } from "./components/ActionLink"; +import { HeroSection } from "./components/HeroSection"; +import { LogoMark } from "./components/LogoMark"; +import { MethodScrollRail } from "./components/MethodScrollRail"; +import { RevealSection } from "./components/RevealSection"; +import { SiteHeader } from "./components/SiteHeader"; + +const impactIcons = [ + Handshake, + Target, + Fingerprint, +]; + +const languageStorageKey = "nianxx-language"; + +const splitRoute = (nextPath: string) => { + const [pathname, hash] = nextPath.split("#"); + return { + pathname: pathname || "/", + hash: hash ? `#${hash}` : "", + }; +}; + +const normalizePath = (nextPath: string) => { + const { pathname } = splitRoute(nextPath); + if (pathname === "/how-we-work") return "/"; + if (pathname === "/contact") return "/about"; + return pathname; +}; + +const scrollToHashTarget = (hash: string) => { + if (!hash) return; + window.setTimeout(() => { + document + .getElementById(hash.slice(1)) + ?.scrollIntoView({ behavior: "smooth", block: "start" }); + }, 0); +}; + +const getInitialLanguage = (): Language => { + try { + const storedLanguage = window.localStorage.getItem(languageStorageKey); + if (isLanguage(storedLanguage)) return storedLanguage; + } catch { + return defaultLanguage; + } + + return defaultLanguage; +}; + +function App() { + const [path, setPath] = useState(normalizePath(window.location.pathname)); + const [language, setLanguage] = useState(getInitialLanguage); + const content = siteContent[language]; + + const navigate = (nextPath: string) => { + const { hash } = splitRoute(nextPath); + const normalizedPath = normalizePath(nextPath); + const normalizedUrl = `${normalizedPath}${hash}`; + if (`${window.location.pathname}${window.location.hash}` !== normalizedUrl) { + window.history.pushState({}, "", normalizedUrl); + } + setPath(normalizedPath); + if (hash) { + scrollToHashTarget(hash); + } else { + window.scrollTo({ top: 0, behavior: "smooth" }); + } + }; + + useEffect(() => { + if (window.location.pathname !== path) { + window.history.replaceState({}, "", `${path}${window.location.hash}`); + } + scrollToHashTarget(window.location.hash); + + const onPopState = () => { + const normalizedPath = normalizePath(window.location.pathname); + if (window.location.pathname !== normalizedPath) { + window.history.replaceState({}, "", `${normalizedPath}${window.location.hash}`); + } + setPath(normalizedPath); + scrollToHashTarget(window.location.hash); + }; + window.addEventListener("popstate", onPopState); + return () => window.removeEventListener("popstate", onPopState); + }, [path]); + + useEffect(() => { + document.title = content.meta.titles[path] ?? content.meta.titles["/"]; + document.documentElement.lang = content.meta.htmlLang; + + const metaDescription = document.querySelector( + 'meta[name="description"]', + ); + metaDescription?.setAttribute("content", content.meta.description); + + try { + window.localStorage.setItem(languageStorageKey, language); + } catch { + // Local storage can be unavailable in restricted browsing contexts. + } + }, [content, language, path]); + + return ( + <> + +
+ {path === "/about" ? ( + + ) : ( + + )} +
+