mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 19:04:23 +08:00
3d5724dbd7
由oMo/init-deep和GPT5.3codex生成
1.6 KiB
1.6 KiB
后端知识库(src-tauri)
作用域
本文件仅约束 src-tauri/(Rust + Tauri)后端实现。
关键入口
src-tauri/src/main.rs:二进制入口,调用secscore_lib::run()。src-tauri/src/lib.rs:应用装配中心(setup、invoke_handler、托盘/窗口、数据库启动)。src-tauri/src/state.rs:全局状态容器。
模块分层
src-tauri/src/commands/:Tauri IPC 命令边界层。src-tauri/src/services/:业务服务层(鉴权、设置、主题、数据等)。src-tauri/src/db/:连接、迁移、实体与仓储。src-tauri/src/models/:模型与 DTO。
后端约束
- 新命令必须在
commands/mod.rs导出,并在lib.rs的invoke_handler注册。 - 命令层优先做参数校验与权限校验,业务细节下沉至
services/。 - 涉及数据库结构或同步策略变更时,必须同步审阅
db/migration.rs与commands/database.rs。 - 变更
board/SQL 查询相关能力时,优先白名单策略,避免扩散动态 SQL 风险面。
后端反模式
- 不要在
commands/database.rs继续堆新职责;优先拆分为更小模块。 - 不要把 UI 或前端状态逻辑迁入 Rust 命令层。
- 不要绕过统一状态容器直接创建长期悬挂资源。
后端验证
在仓库根目录执行:
pnpm lint
pnpm typecheck
pnpm tauri:build
CI/发布场景还需参考:.github/workflows/build.yml。
说明
- 当前
src-tauri/tauri.conf.json的beforeDevCommand/beforeBuildCommand使用npm run ...,与仓库默认pnpm并存;修改构建链路时请同步评估。