work-order-monitor/CLAUDE.md

75 lines
2.4 KiB
Markdown
Raw Normal View History

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 项目概述
这是一个基于 **Tauri 2.x + Vue 3** 的工单监控桌面应用,用于监控 CRM 系统crm.yunvip123.com的待处理工单并发送系统通知。
## 常用命令
项目使用 **npm** 作为包管理器(存在 package-lock.json
```bash
# 启动开发模式(前端 + Tauri
pnpm run tauri dev
# 仅启动前端开发服务器
pnpm run dev
# 构建生产版本
npm run tauri build
# 前端类型检查 + 构建
pnpm run build
# Rust 后端检查
cd src-tauri && cargo check
cd src-tauri && cargo clippy
```
## 架构概述
**前端驱动架构**所有业务逻辑API 调用、定时任务、通知)都在 Vue 前端实现Rust 后端仅负责系统级功能。
### 前端src/
- `src/App.vue` - 主界面,包含全部业务逻辑:用户认证、监控调度、通知、网络检测、配置管理、系统托盘
- 使用 Vue 3 Composition API`<script setup>`
- Vite 开发服务器端口1420HMR 端口1421
- 系统托盘使用 `@tauri-apps/api/tray``@tauri-apps/api/menu` 实现
### Rust 后端src-tauri/src/
- `lib.rs` - 应用初始化、插件注册、窗口关闭事件处理(关闭→隐藏到托盘)
### Tauri 命令
无自定义命令(所有功能通过前端 API 实现)
### API 集成
- 登录:`POST https://crm.yunvip123.com/api/SystemUser/Login`
- 工单查询:`GET https://crm.yunvip123.com/api/DemandManage/QueryIndexCount`
- 认证方式ASP.NET_SessionId Cookie
- HTTP 白名单配置在 `src-tauri/capabilities/default.json`
### 通知触发条件
当以下任意计数 > 0 时触发系统通知:
- `PendingCount`(待处理)
- `StaycloseCount`(待关闭)
- `ConfirmCount`(待确认)
## 关键配置
- `src-tauri/capabilities/default.json` - Tauri 权限配置HTTP 白名单、插件权限)
- `src-tauri/tauri.conf.json` - 应用配置窗口、图标、bundle
- 用户配置文件路径:`%APPDATA%/tauri-app/config.json`Windows
## 依赖的 Tauri 插件
- `tauri-plugin-http` - HTTP 请求
- `tauri-plugin-notification` - 系统通知
- `tauri-plugin-autostart` - 开机自启动
- `tauri-plugin-opener` - 打开外部链接
## Windows 编译要求
需要安装 Visual Studio Build Tools包含 C++ 工具链)才能编译 Rust 后端。