# nova **Repository Path**: code_87/nova ## Basic Information - **Project Name**: nova - **Description**: 已完结-111111111111111111111 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-08 - **Last Updated**: 2026-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Nova 建筑材料管理系统 Nova 是一款基于 Go + Vue 3 构建的建筑材料管理桌面应用,支持收料单、领料单、送货单、送货清单、采购结算表和合同管理六大业务模块。 ## 技术栈 - **后端**: Go 1.26 + SQLite + Gorilla Mux - **前端**: Vue 3 + Vite + Element Plus + Pinia + Vue Router - **富文本编辑**: wangEditor - **打包方式**: Go embed 嵌入前端静态文件,单文件可执行程序 ## 功能特性 - 收料单、领料单、送货单、送货清单、采购结算表、合同管理 - Excel 导入导出(送货单支持导入) - 合同富文本编辑、预览、打印、导出 Word - 合同正文支持插值变量(如 `{{PARTY_A}}`)和表格插值(`{{ITEMS_TABLE}}`) - 白昼/黑夜主题切换 - 系统托盘运行(Windows) - 配置文件 `config.yaml` 管理端口号 ## 快速开始 ### 开发环境 ```bash # 1. 启动前端开发服务器 cd web npm install npm run dev # 2. 启动后端(根目录) go run main.go ``` ### 生产构建 ```bash # Windows 构建 .\build-windows.bat # 输出: nova.exe # Linux 交叉编译 .\build-linux.bat # 输出: nova ``` ### 配置文件 程序首次运行会自动创建 `config.yaml`: ```yaml server: port: 8081 ``` 修改端口号后重启程序即可生效。 ## 项目结构 ``` Nova/ ├── main.go # Go 入口 ├── main_windows.go # Windows 系统托盘 ├── main_linux.go # Linux 直接启动 ├── build-windows.bat # Windows 构建脚本 ├── build-linux.bat # Linux 构建脚本 ├── config.yaml # 配置文件(自动创建) ├── internal/ │ ├── config/ # 配置读取 │ ├── db/ # 数据库初始化 │ ├── handler/ # HTTP 路由处理 │ ├── model/ # 数据模型 │ └── service/ # 业务逻辑 ├── web/ # Vue 前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── components/ # 公共组件 │ │ ├── api/ # API 接口 │ │ └── router/ # 路由配置 │ └── dist/ # 构建产物(嵌入 Go) └── docs/ # 需求文档和 Excel 模板 ``` ## 合同模板插值说明 在合同编辑页的正文中,可以使用以下占位符: | 占位符 | 说明 | |--------|------| | `{{CONTRACT_NO}}` | 合同编号 | | `{{TITLE}}` | 合同标题 | | `{{PARTY_A}}` | 甲方 | | `{{PARTY_B}}` | 乙方 | | `{{SIGN_DATE}}` | 签订日期 | | `{{TOTAL_AMOUNT}}` | 总金额 | | `{{ITEMS_TABLE}}` | 合同明细表格(自动渲染) | ## 运行截图 系统采用左侧导航 + 右侧内容区的布局,支持白昼/黑夜主题切换。 ## License MIT