# 花觉
**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 接通)*