# CryptoCoin · 桌面行情挂件 > Windows 桌面迷你行情挂件,基于 **Tauri 2 + Rust + 币安 24hr 行情 API**。 一个常驻桌面的轻量挂件,实时显示加密货币与美股的最新价格和 24 小时涨跌幅,全部操作通过系统托盘完成。 ## 功能特性 - 💹 **实时行情** — 拉取币安 `24hr ticker`,显示最新价与涨跌幅,红绿配色一目了然 - 🪙 **多标的支持** — 内置主流加密货币(BTC / ETH / SOL / BNB…)与美股标的(AAPL / TSLA / NVDA…),托盘勾选自由组合 - 🎨 **多种背景主题** — `dark` / `slate` / `navy` / `charcoal` / `midnight` / `forest` / `light`,托盘一键切换 - ⏱️ **可调刷新间隔** — 3s / 5s / 10s / 30s / 1m / 3m / 5m / 10m,避免 API 限流 - 🌐 **直连或代理** — 本机无法直连币安时,可走 Cloudflare Worker 代理,直连与代理一键切换 - 🖱️ **托盘菜单操作** — 选择标的、切换主题、调整间隔、打开设置目录、直连/代理切换 - 💾 **便携配置** — 配置保存在 exe 同级 `data/` 目录,迁移方便 ## 技术栈 | 层级 | 技术 | |------|------| | 桌面框架 | [Tauri 2](https://v2.tauri.app/) | | 后端 | Rust(`reqwest` 请求、`serde` 序列化、系统托盘) | | 前端 | TypeScript + Vite 6(JetBrains Mono 字体) | | 数据源 | 币安 24hr Ticker API(现货 / 合约) | | 代理(可选) | Cloudflare Worker | ## 快速开始 ### 环境要求 - [Node.js](https://nodejs.org/) ≥ 18 - [Rust](https://www.rust-lang.org/tools/install) 工具链 -(Windows)[Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/) ### 开发运行 ```bash npm install npm run tauri dev ``` ### 构建安装包 ```bash npm run tauri build ``` > 修改代码后必须重新打包,旧 exe 不会包含新逻辑。 安装包:`src-tauri/target/release/bundle/nsis/CryptoCoin_*_x64-setup.exe` ## 配置说明 配置保存在 **与 `CryptoCoin.exe` 同级** 的 `data` 目录(开发时位于 `target/debug/data/` 等): ``` D:\WindowsApp\CryptoCoin\data\settings.json ``` > 首次从旧版 `%APPDATA%\com.smy.cryptocoin\` 升级时会自动迁移 `settings.json` 到 `data`。 > 托盘「打开设置目录」可直接定位该文件夹。 示例: ```json { "enabled": ["BTCUSDT", "ETHUSDT"], "proxyBaseUrl": "https://bn-api-proxy.smyhub.com", "useProxy": true, "refreshIntervalMs": 5000, "backgroundTheme": "dark" } ``` | 字段 | 说明 | |------|------| | `enabled` | 展示的标的列表(也可在托盘勾选) | | `proxyBaseUrl` | 代理地址;切回直连时仍会保留,便于下次复用 | | `useProxy` | `true` 走代理,`false` 直连 | | `refreshIntervalMs` | 刷新间隔,最小 **3000**(3 秒,避免限流) | | `backgroundTheme` | `dark` / `slate` / `navy` / `charcoal` / `midnight` / `forest` / `light` | ## 代理 Worker 本机无法直连 `api.binance.com` 时,可部署内置的 Cloudflare Worker 转发行情请求。 详见 [cryptocoin-binance-proxy/README.md](cryptocoin-binance-proxy/README.md)。 ## 项目结构 ```text CryptoCoin/ ├── src/ # 前端(TypeScript + Vite) ├── src-tauri/ │ ├── src/ │ │ ├── lib.rs # 主逻辑 + 托盘 │ │ ├── coins.rs # 标的定义(加密货币 / 美股) │ │ └── settings.rs # 设置、主题、刷新间隔 │ ├── settings.json # 配置模板 │ └── tauri.conf.json ├── cryptocoin-binance-proxy/ # Cloudflare Worker 代理 ├── package.json └── README.md ``` ## 许可证 MIT