work-order-monitor/CLAUDE.md

2.4 KiB
Raw Blame 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

# 启动开发模式(前端 + 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.jsonWindows

依赖的 Tauri 插件

  • tauri-plugin-http - HTTP 请求
  • tauri-plugin-notification - 系统通知
  • tauri-plugin-autostart - 开机自启动
  • tauri-plugin-opener - 打开外部链接

Windows 编译要求

需要安装 Visual Studio Build Tools包含 C++ 工具链)才能编译 Rust 后端。