# 花觉 **Repository Path**: idcdp/florasense ## Basic Information - **Project Name**: 花觉 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-10 - **Last Updated**: 2026-11-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Florasense · 系列软件门户 > 一个以「花」为名的桌面软件家族总站点。每一款软件对应一种**花**,也对应一种**人的感官**—— > 鸢尾看图(看)、铃兰听歌(听),以及规划中的菱花观影(观影)。 > > 域名 **florasense.cn** = *flora*(花 / 植物)+ *sense*(感官 / 感知),即「**花之感知**」。 本仓库当前用于托管网站代码,集中介绍菜菜侠旗下的系列桌面软件。 (网站的具体页面设计、结构与主题皮肤落地方式**尚未开始**,见文末「资料来源与缺失说明」。) --- ## 一、本站取名缘由:Florasense - **词源**:`flora` 取自拉丁语,原指罗马神话中的花神,泛指「花卉 / 植物界」;`sense` 意为「感官 / 知觉 / 感知」。 二者拼合为 **Florasense —— 花之感知**,恰好是整套产品母题的浓缩。 - **与产品的呼应**:两款已发布软件已经把这个母题实体化了—— - **鸢尾(Iris)** 既是花,也是人眼**虹膜**(管「进光·看」); - **铃兰(Convallaria)** 的花形如倒挂小铃(指向「声音·听」),与人耳**鼓膜**成对。 - 用铃兰品牌文案里的原话说:「**虹膜管进光,鼓膜管传声:一台看图,一台听歌,连名字都是一对。**」 - **定位**:`florasense.cn` 就是这个「花 + 感官」软件家族的中文门户与统一品牌名。 未来每新增一款软件,都沿同一逻辑取一种花、对应一种感官,纳入本站介绍。 --- ## 二、命名体系总览 | 软件 | 花名(开发代号) | 对应感官 | 命名意象 | 状态 | |---|---|---|---|---| | **鸢尾看图** | 鸢尾 · Iris | 视觉(看) | 鸢尾花 / 人眼虹膜(控制进光) | 已发布 v0.1.0(含安装包) | | **铃兰听歌** | 铃兰 · Convallaria | 听觉(听) | 倒挂小铃 / 人耳鼓膜(等待被碰响) | 已发布 v0.1.0(前端框架交付) | | **菱花观影** | 菱花(暂定) | 视觉影像(观影) | 菱花镜 / 镜中映像 | 规划中(仅意向,未立项) | > 命名逻辑一以贯之:**一种花 + 一种感官 + 一个「等待发生」的意象**。 > 看图是「等一束光进来」,听歌是「等一个声音响起」,观影则将是「等一帧影像亮起」。 --- ## 三、鸢尾看图(Iris) ### 命名缘由 > 一台把「用眼睛看世界」这件事,焊进名字里的看图软件。 > **Iris 既是「鸢尾花」,也是「人眼虹膜」——而虹膜正是控制进光、决定你「看见什么」的那道光圈。** - 「鸢尾」取花名;「Iris」在解剖学里是人眼的**虹膜**,是光线进入眼球、决定你看到什么的那一圈光圈。 - 看图的本质就是「让光进来、落在眼底」——软件名把这件事焊进了名字:既是花,也是「看」这个动作的器官本身。 - 与姊妹篇铃兰形成严整对仗:**虹膜管进光(看),鼓膜管传声(听)**,两台软件连名字都是一对。 ### 设计背景 - **品类**:Windows 桌面本地看图软件,对标 ACDSee 的「秒开」体验(快速扫描、缩略图即时出图、流畅翻页)。 - **技术栈**:Tauri 2 + Rust(内核:目录扫描 / 缩略图 / EXIF / 大图直出 / 文件关联)+ Vue 3 + Vite + Tailwind(前端)。 - **核心能力**:真实目录扫描与记忆、缩略图墙 / 灯箱大图、EXIF 信息栏、照片编辑(调色 / 滤镜 / 几何变换 / 另存为)、 双击图片用本软件打开并申请成为默认看图软件、免费注册 + 在线升级检查 + 可关闭的使用统计。 - **当前进展**:v0.1.0 已产出 NSIS 安装包(`鸢尾看图_0.1.0_x64-setup.exe`)并真机验收通过;共享软件化(注册 / 升级 / 统计 / 安装包)已落地。 - **资料来源**:`D:\Projects\Python\Iris\README.md`、`D:\Projects\Python\Iris\HANDOFF-GLM.md`。 --- ## 四、铃兰听歌(Convallaria) ### 命名缘由 > 一台把「等一个声音」这件事,焊进名字里的听歌软件。 > **铃兰的花是一串倒挂的小铃,风过时并不真的作声。「铃」指向声音,「兰」指向草木 —— > 而人耳里那层等着被碰响的鼓膜,正是声音落下来的地方。** - 「铃兰」二字,一个指向**声音**(铃),一个指向**草木**(兰)。它的花形如一串倒挂的小铃,风过却并不真响—— 因此铃兰是一种「**等着被听见**」的花。 - 「等一个声音」正是听歌软件的内核:硬盘里的歌不播放时,也不过是一串安静的小铃;软件做的事, 就是让振动穿过空气、落在鼓膜上,把听见的这一段稳稳交到你手里。 - 与鸢尾看图成对:**[虹膜管进光(看)|鼓膜管传声(听)]**,一台看图、一台听歌,连名字都是一对。 - 文案口径(用户定稿,不改字):不硬说「一词双关」——铃兰是花、无器官义;对仗靠「虹膜进光 / 鼓膜传声」这对生理结构成立。 ### 设计背景 - **品类**:Windows 桌面**本地**音乐播放器(非流媒体、非音乐社区),对标千千静听的功能骨架。 - **技术栈**:与鸢尾看图同源 —— Tauri 2 + Rust + Vue 3 + Vite + Tailwind;界面风格刻意与看图软件一致(姊妹篇)。 - **核心能力**:文件夹 / 文件 / 拖放 / 项目音乐目录四种导入通道;曲库刷新不丢、持久化; 播放控制、播放模式、音量、十段均衡器 + 预设;同步歌词(本地同名 `.lrc` 优先,联网自动匹配网易云 / LRCLIB / Lyrics.ovh,可一键关闭); 实时频谱与唱片动效、迷你窗口、收藏 / 搜索、三套主题皮肤。 - **当前进展**:v0.1.0 可运行的浏览器开发态已交付,端到端自检(导入 17 项 / 工作流 24 项)全绿; Tauri 原生客户端骨架已搭好,但本机缺 Rust 工具链,安装包与原生窗口行为尚未编译验证。 - **资料来源**:`D:\Projects\Python\Convallaria\README.md`、`docs\DESIGN.md`、`docs\COPY.md`、`src\data\brandCopy.js`。 --- ## 五、菱花观影(规划中) > ⚠️ **本节为基于命名体系的合理推导,非既成事实,需你最终拍板确认。** ### 命名缘由(推测) - 「菱花」典出**「菱花镜」**:古代铜镜多雕菱花纹样,后世以「菱花」借指镜子。镜能映像,对应「观影 / 看影像」。 - 沿「花 + 感官 + 等待发生」的母题:观影是「等一帧影像亮起」,与鸢尾「等一束光」、铃兰「等一个声音」同源而异感。 - 若采用此名,开发代号可对应英文 **Calta / Trapa** 等菱科植物的拉丁属名(待定)。 ### 设计背景(规划) - **品类设想**:Windows 桌面本地影视播放 / 观影管理软件,沿姊妹篇的「本地优先、界面同源」路线。 - **状态**:仅在本站规划中提及,**尚无代码仓库、无功能设计文档、无命名定稿**。本节内容待立项后补全。 --- ## 六、视觉与主题体系(共用的「专用主题皮肤」) 鸢尾看图与铃兰听歌共用同一套视觉语言,本网站亦将沿用这套主题皮肤: | 主题 | 主光色 | 背景 | 氛围 | |---|---|---|---| | **琥珀 amber** | 金 `#E0A83C`(锁定) | 暖灰黑 `#17181c` | 金色径向光 | | **霓虹 neon** | 暖玫 `#FF5C8A` | 暖紫黑 `#120b16` | 橙+紫径向光、橙→紫 Logo 渐变 | | **星耀 stellar** | 冷白 `#DBEAFF` | 深空蓝黑 `#070b14` | 冷蓝白径向光 | - 设计铁律(来自鸢尾看图验收):卡片悬停发光结构为 `0 0 0 1px + 0 8px 24px` 单色实心光,三主题仅颜色随主题变; **七彩不做卡片主光**,只用于氛围层(背景光晕 / Logo 渐变),避免与照片内容抢色。 - 主题只能由用户手动切换,不自动跳变(已通过 MutationObserver 守卫根治「主题串台」)。 --- ## 七、仓库与开发说明 - **本站仓库**:`https://gitee.com/idcdp/florasense`(当前工作文件夹已关联 `origin`)。 - **系列软件仓库**: - 鸢尾看图:`D:\Projects\Python\Iris\` - 铃兰听歌:`D:\Projects\Python\Convallaria\` - 菱花观影:尚未建立。 - **技术同源**:三款软件均为 Tauri 2 + Rust + Vue 3 + Vite + Tailwind,主题变量逐值一致,故可共用同一套网站皮肤。 --- ## 八、资料来源与缺失说明 ### 已采信的资料(本机可溯) | 内容 | 来源文件 | |---|---| | 鸢尾看图命名缘由 / 设计背景 | `D:\Projects\Python\Iris\README.md`、`HANDOFF-GLM.md` | | 铃兰听歌命名缘由 / 品牌文案 | `D:\Projects\Python\Convallaria\README.md`、`docs\COPY.md`、`src\data\brandCopy.js` | | 铃兰听歌设计过程与验收 | `D:\Projects\Python\Convallaria\docs\DESIGN.md` | | 主题皮肤参数 | 上述 Iris / Convallaria 文档中的三主题定稿表 | ### 缺失 / 待补部分(如实标注) 1. **菱花观影**:仅有规划意向,无代码、无命名定稿、无设计文档。第五节为推导,需你确认名称与方向。 2. **本站(florasense.cn)页面设计**:你已明确「后面再说怎么设计网站」,故本 README 仅为仓库初始说明, 不含页面结构、首页内容、导航方案等。 3. **两款软件自身的已知限制**(非本站缺失,仅提示): - 铃兰听歌 v0.1.0 的 Tauri 原生客户端 / 安装包尚未在本机编译验证(缺 Rust 工具链); - 鸢尾看图已发安装包,但 RAW 缩略图、万级图片虚拟滚动等 P2/P3 功能待做。 4. **使用统计后端**:鸢尾看图配套 `server/`(Node 零依赖)已实现注册 / 统计 / 升级接口,铃兰听歌是否共用同一后端待定。 --- ## 九、多语言(i18n · 已完成) 参考「铃兰听歌 / Convallaria」的运行时,网站内置同一套 10 语言引擎。**10 种语言字典均已完整填充**(每语言 338 个词条),切换后正文、导航、按钮、表单提示、图片 `alt` / `placeholder` / `aria-label`、页面标题与 description 全部跟随语言。 - **支持语言**:`zh-CN · en-US · zh-TW · ja-JP · ko-KR · fr-FR · de-DE · ru-RU · es-ES · pt-PT`。 - **地区判定优先级(已接通服务端 GeoIP)**:`?lang=xx` 链接参数 > 用户显式选择(localStorage `flora-lang`)> 访问地区 > 浏览器 / 系统语言 > 默认语言 `en-US`。 - **访问地区不是靠猜浏览器语言**:官网每次进入都会调 `POST /api/access/enter`,服务端用离线 `ip2region` 按真实 IP 解析国家,响应回带 `country_code` / `locale_region`;`dynamic.js` 拿到后调 `I18N.applyGeoLocale()` 自动切到对应语言。 - 区域码缓存在 localStorage `flora-geo-region`(自动判定,与用户显式选择分开存放),**第二次访问首屏就命中**,不必等接口返回。首次访问会先按浏览器语言渲染,接口返回后切换一次。 - 国家 → 语言映射表是 `i18n.js` 的 `COUNTRY_TO_LANG`。**有国家但本站没有对应语言 → 显示英语**;内网 / 解析失败 / 后端不可达 → 保留浏览器语言,最终回退英语。 - 港澳台:`country_code` 按国家标准地图统一记为 `CN`,但 `locale_region` 保留 `TW/HK/MO`,站点据此显示繁体中文(统计口径与语言呈现互不干扰)。 - 可选加速:部署在 CDN 边缘时注入 `` 或 `window.__FLORA_REGION__`,同步生效、优先于服务端异步判定。 - **用户手动切换永远优先**:自动判定不会覆盖手动选择或 `?lang` 分享链接;`?lang=ja-JP` 只影响本次渲染、不写入 localStorage。 - 后端在反代之后需设 `ACCESS_TRUST_PROXY=true`,否则解析到的是反代 IP(见 §10 与 `docs/access-log-integration.md` §9.1)。默认 `DEFAULT_LANG = 'en-US'`,改 `i18n.js` 一行即可换成中文。 - **三层文案覆盖**: 1. 结构性文案:`data-i18n` / `data-i18n-html` / `data-i18n-attr` 标记; 2. 早期硬编码中文:`assets/js/i18n/_keys.js`(中文原文 → 稳定 key)由 `renderAuto()` 按 DOM 文本节点与属性自动翻译, 原文缓存在 WeakMap 中,任意语言之间来回切换不失真; 3. 交互提示:`assets/js/dynamic.js` 走 `I18N.t()`,语言切换时已显示的提示同步刷新。 - **缺失回退**:任何缺失 / 非法 key 自动回退 `zh-CN`(单一可信源),新增文案不会让页面开天窗。 - **切换器**:导航右上角从 `I18N.LANGUAGES` 自动生成;选择写入 localStorage,经 BroadcastChannel / storage 事件跨标签页同步,并维护 `` / `dir`。 - **关键文件**:`assets/js/i18n.js`(引擎)、`assets/js/i18n/zh-CN.js`(中文基准)、`assets/js/i18n/*.js`(9 个已填字典)、`assets/js/i18n/_keys.js`(自动映射表)。字典是纯浏览器 JS,无构建步骤,部署即生效。 - **工具链随仓库提交**:`tools/i18n/extract.js`(增量抽取)、`build.js`(校验 + 生成字典 + 刷新模板)、`verify.js`(静态覆盖检查)、`browser-check.js`(无头浏览器渲染汇总)、`translations/*.json`(9 份翻译源 + `_template.json`)。翻译源 JSON 才是唯一需要人工编辑的输入,字典 JS 是生成物。 - **维护流程**(在仓库根目录执行):改动 `index.html` / `zh-CN.js` 后依次运行 `node tools/i18n/extract.js`(增量抽取新文案,**保持旧 key 不变**)→ `node tools/i18n/build.js --template`(刷新译员模板)→ 补全 `tools/i18n/translations/.json` → `node tools/i18n/build.js --check`(校验:key 集合 / HTML 标记 / 中文残留,无写入)→ `node tools/i18n/build.js`(生成 9 个字典)→ `node tools/i18n/verify.js`(静态覆盖检查)→ 需要时用无头浏览器按 `?lang=` 逐语言 dump DOM,再跑 `browser-check.js`。 抽取产生的 `_pending.json` 为派生清单,已忽略、不入库。 --- ## 十、统一进入留痕(全系软件共用) 全系软件把「进入 / 访问」事件写入共享库同一张表 `fa_access_log`,记录 UUID 主键、IP、时间、国家 / 省 / 城市与软件编号,用于统计网站使用情况、各软件用户地理分布与时间趋势。 - **编号**:`0` 官方网站(官网前端已自动上报)、`2` 鸢尾看图、`3` 铃兰听歌、`4` 菱花观影;`1` 为网站兼容别名,保留不写入。编号由 `fa_software_dict` 管理,新增产品插一行即可。 - **上报**:`POST /api/access/enter`,服务端统一取 IP、用离线 `ip2region` 解析中文地理、生成 UUID,`ingest_key` 保证重试幂等;响应回带 `country_code` / `locale_region`,官网据此按访问国家自动选语言(见 §9);统计走 `GET /api/admin/access/stats`(Basic Auth,支持全量与任意时间段)。 - **迁移**:`node backend/scripts/apply-access-log.mjs`(幂等,只建 `fa_` 前缀新表;共享库**禁止** `prisma db push`)。 - **接入文档**:`docs/access-log-integration.md` —— 表结构、编号字典、接口规范、JS / Python / Go / Rust / SQL 示例、隐私合规与验收清单,可直接交给其他软件开发者。 - **整体后台设计**:`docs/admin-console-design.md`。 > 合规提示:官网已删除「100% 本地优先 · 隐私不出本机」等绝对化承诺(2026-11-13)——网站与软件联网必然留痕,不再做此类表述。客户端侧「首次启动告知 + 可随时关闭上报 + 本地清除入口」仍是独立合规要求,见 `docs/access-log-integration.md` §7。 --- *文档整理:阿渡(WorkBuddy)|基于本机 `Iris` 与 `Convallaria` 项目资料汇编|2026-11-10(多语言与统一进入留痕 2026-11-12 补全;按访问国家自动选语言 2026-11-15 接通)*