3.3 KiB
3.3 KiB
运行与打包说明
建筑材料放射性判定系统(Rust + Tauri + React + TypeScript)。
1. 环境要求
| 工具 | 版本 | 说明 |
|---|---|---|
| Node.js | ≥ 18 | 前端构建(Vite) |
| npm | 随 Node 安装 | 依赖管理 |
| Rust | ≥ 1.78(已验证 1.93) | 计算引擎与 Tauri 后端,rustup 安装 |
| Tauri 前置依赖 | Windows: WebView2 Runtime(Win11 已内置) | 见 https://tauri.app/start/prerequisites/ |
首次准备:
npm install
Rust 依赖在首次
cargo/tauri命令时自动下载编译。
2. 开发运行
2.1 仅前端(浏览器预览,不含 Tauri 原生命令)
npm run dev
打开 http://localhost:1420。注意:此模式下 invoke("calculate") 不可用,仅用于调样式。
2.2 完整桌面应用(推荐)
npm run tauri:dev
该命令会自动启动 Vite 开发服务器并编译 Rust 后端,弹出桌面窗口,支持热重载。
3. 测试
计算引擎(含蒙特卡洛仿真)的单元/集成测试:
cargo test -p ceramic-radioactivity
前端类型检查与生产构建:
npm run build
4. 打包(生成 Windows 安装包)
-
在
src-tauri/tauri.conf.json中将bundle.active设为true:"bundle": { "active": true, "targets": ["nsis", "msi"], "icon": ["icons/icon.ico"] }nsis生成.exe安装包,msi生成.msi(需安装 WiX Toolset,可只保留nsis)。icon需指向有效图标;可用npx tauri icon path\to\logo.png生成整套图标。
-
执行构建:
npm run tauri:build -
产物输出目录:
src-tauri/target/release/ # 可执行文件 建筑材料放射性判定.exe src-tauri/target/release/bundle/nsis/ # NSIS 安装包 src-tauri/target/release/bundle/msi/ # MSI 安装包(如启用)
首次 release 构建较慢(需编译全部 Rust 依赖),后续增量构建会显著加快。
5. 项目结构
src/ 计算引擎(库 crate:ceramic-radioactivity)
├─ domain.rs 输入/输出/校准/判定/MCM 数据结构
├─ calculator.rs GUM 法不确定度计算与三态判定
└─ mcm.rs 蒙特卡洛法仿真(10000 次,含 PRNG)
tests/ 计算引擎测试
src-tauri/ Tauri 桌面外壳(command: calculate)
ui/ React + Ant Design 前端
run.md 本说明
6. 功能说明(计算与判定)
- GUM 法:A 类(标准差 / 极差法)、B 类不确定度合成,输出 IRa、Ir 及相对不确定度。
ur ≤ 20%→OK;否则次数 < 6 →请增加试验次数至 6 次;否则 →校准仪器后重新测量。
- 蒙特卡洛法(MCM):对各核素校准比活度按正态分布抽样,10000 次仿真传播至 IRa、Ir,
输出平均值、标准偏差、P2.5、P97.5(95% 包含区间),并与标准值比较给出合格 / 不合格概率。
- 标准值(IRa、Ir 限值)可在界面“校准参数 / 判定标准值”中修改,默认均为
1.0(GB 6566 主体材料)。 - 仿真使用固定随机种子,结果可复现。
- 标准值(IRa、Ir 限值)可在界面“校准参数 / 判定标准值”中修改,默认均为