154 lines
5.8 KiB
Markdown
154 lines
5.8 KiB
Markdown
# 年糕崽崽项目管理(PMS)
|
||
|
||
年糕崽崽 PMS(NL PMS)是一款 **本地优先** 的 Windows 桌面项目工作台:一键统计代码规模与语言分布、洞察 Git 协作热度,聚合待办、工单与排期日历,内置 AI 解读项目并规划每天工作。数据默认保存在本机 SQLite;登录后可加密同步到云端,多台设备衔接。
|
||
|
||
技术栈:**Wails v3 · Go · Vue 3**。界面支持中 / 英与浅色 / 深色主题。
|
||
|
||
## 功能清单
|
||
|
||
### 概览
|
||
|
||
- **工作台**:收藏项目、今日待办、速记与未读消息入口
|
||
- **今日任务**:聚合逾期、今天到期、进行中、未来 7 天的待办与工单
|
||
- **排期日历**:待办截止日与工单排期一览,支持跳转日期
|
||
- **消息中心**:系统 / 协作通知
|
||
|
||
### 项目与代码分析
|
||
|
||
- **我的项目**:本地目录或 Git 克隆添加项目,分组管理,语言分布与代码行统计
|
||
- **项目详情**:代码规模、目录结构、大文件、Git 热力图 / 趋势 / 贡献者、健康洞察、文件预览
|
||
- **排除规则**:按 glob 排除不参与统计的文件(设置里可配全局规则,项目也可单独配置)
|
||
- **AI 分析**:基于项目上下文的对话、解读与任务建议(支持讯飞星火 / DeepSeek 等)
|
||
|
||
### 事务
|
||
|
||
- **待办事项**:看板 / 列表,状态、优先级、截止日期
|
||
- **需求工单**:绑定项目与排期,类型含功能 / 缺陷 / 任务 / 改进,生命周期时间线,可用 AI 生成工单
|
||
- **笔记**:Markdown 速记与笔记列表
|
||
|
||
### 团队协作(登录后)
|
||
|
||
- **团队概览**:创建 / 加入团队、成员与角色
|
||
- **团队任务**:分配与跟踪团队待办
|
||
- **团队日报**:成员日报提交与 AI 摘要
|
||
- **加密云同步**:本地数据加密后同步到云端;个人主页可管理资料、素材库与同步状态
|
||
|
||
### 系统工具
|
||
|
||
- **启动台**:管理本机应用启停与分类,扫描监听端口的服务,可配置启动 / 停止命令与图标
|
||
- **端口监控**:本机 CPU / 内存 / 网络总览、监听端口列表,可将服务存为启动台应用
|
||
- **打包任务**:在项目或应用目录执行自定义构建命令,控制台输出保存在本地(不同步云端)
|
||
- **运行日志**:桌面端后台任务与运行记录
|
||
|
||
### 设置与运营
|
||
|
||
- **界面设置**:主题、语言、毛玻璃、加载动画、托盘样式、最小化到托盘、开机自启、自动更新
|
||
- **AI / 文件存储 / 种类图标 / 数据管理**:模型密钥、云端文件存储(管理员)、启动台默认种类图标、SQLite 路径与备份
|
||
- **运营后台**(管理员):用户与团队、发版与更新包、用量概览;敏感操作需二次验证
|
||
|
||
## 环境要求
|
||
|
||
- Go 1.25+
|
||
- Node.js 20+
|
||
- Wails CLI v3(`wails3`)
|
||
- Git(可选;仅 Git 分析需要)
|
||
- NSIS(打 Windows 安装包时需要,见下文)
|
||
|
||
本机数据库默认位于系统用户配置目录下的 `CodeCount/code-count.db`,可在设置 → 数据管理中修改路径。
|
||
|
||
## 开发
|
||
|
||
热更开发(推荐):
|
||
|
||
```powershell
|
||
wails3 task dev
|
||
```
|
||
|
||
等价于 `wails3 dev -config ./build/config.yml -port 9245`。
|
||
|
||
也可先装前端依赖再手动启动:
|
||
|
||
```powershell
|
||
cd frontend
|
||
npm install
|
||
cd ..
|
||
wails3 task dev
|
||
```
|
||
|
||
请在桌面程序中打开,不要用普通浏览器预览:浏览器无法访问本地目录、SQLite 或 Git。
|
||
|
||
## 测试
|
||
|
||
```powershell
|
||
go test ./...
|
||
```
|
||
|
||
## 构建与打包(Windows)
|
||
|
||
出包必须用官方任务,**禁止**裸 `go build` 交付给用户。裸编译没有图标,双击还会闪控制台黑框。
|
||
|
||
### 打安装包(推荐交付方式)
|
||
|
||
需要已安装 [NSIS](https://nsis.sourceforge.io/)。若提示 `makensis not found`,先把 NSIS 加入 PATH:
|
||
|
||
```powershell
|
||
$env:Path = "C:\Program Files (x86)\NSIS;" + $env:Path
|
||
wails3 task package
|
||
```
|
||
|
||
该任务会依次:
|
||
|
||
1. 打包云端 API(`api:package`,有改动才重编)
|
||
2. 构建前端并嵌入,生成带图标 / 版本信息、无控制台窗口的 `bin/code-count.exe`
|
||
3. 用 NSIS 生成安装程序
|
||
|
||
**安装包路径:**
|
||
|
||
`bin\年糕崽崽项目管理(PMS)-amd64-installer.exe`
|
||
|
||
安装程序为简体中文界面,会写入开始菜单和桌面快捷方式,并附带 WebView2 引导。默认按机器安装(需管理员权限)。
|
||
|
||
### 只编桌面程序(不打安装包)
|
||
|
||
```powershell
|
||
wails3 task windows:build
|
||
```
|
||
|
||
产物:`bin/code-count.exe`。只改前端时该任务会自动 `npm build` 并嵌入,无需单独跑 Vite。
|
||
|
||
### 只打包云端 API
|
||
|
||
同级仓库 `../nl-pms-api` 有改动才会重编;强制重编加 `FORCE=1`:
|
||
|
||
```powershell
|
||
wails3 task api:package
|
||
wails3 task api:package FORCE=1
|
||
```
|
||
|
||
产物目录:`bin/nl-pms-api/`(含 `nl-pms-api` 二进制、`init.sql`、`migrations/*.sql`、`config.example.yaml`)。部署到 Linux 服务器时拷该目录即可。
|
||
|
||
硬性要求:
|
||
|
||
- 目标固定为 **linux/amd64**(线上 Linux 服务器)
|
||
- 产物是 `bin/nl-pms-api/nl-pms-api`(**无** `.exe` 后缀)
|
||
- **禁止**把 Windows 本机编出的 `nl-pms-api.exe` 当作后端交付
|
||
|
||
编完会校验文件头为 ELF(`7F 45 4C 46`)。抽查:
|
||
|
||
```powershell
|
||
Format-Hex bin\nl-pms-api\nl-pms-api -Count 4
|
||
# 前 4 字节应为 7F 45 4C 46
|
||
```
|
||
|
||
### 更换 Logo
|
||
|
||
1. 替换 `build/appicon.png`(正方形 PNG)
|
||
2. `wails3 task common:generate:icons`(按 checksum 缓存,未改动会显示 up to date)
|
||
3. 重新 `wails3 task windows:build`(或再打安装包)
|
||
4. 可用 `powershell -ExecutionPolicy Bypass -File tools\extract-icon.ps1` 从 exe 抽出图标核对
|
||
5. 资源管理器仍显示旧图标时,改名或重启 explorer 即可(Windows 图标缓存)
|
||
|
||
## 项目配置
|
||
|
||
应用名称、版本、公司名等在 `build/config.yml`。修改 `info` 后执行 `wails3 task common:update:build-assets` 会同步构建资源(会覆盖已改过的资源文件,请先确认)。
|