1b36901a70ea0ee67b590051ed30e6136e447e8c
TMS Tools - 工单管理工具
TMS Tools 是一款基于 Tauri + Vue 3 开发的桌面应用程序,用于管理影院技术支持工单。支持工单的创建、反馈、关闭以及批量操作功能。
功能特性
核心功能
- 用户登录 - 对接 c.baobaot.com 平台认证
- 工单创建 - 根据影院编码自动创建技术支持工单
- 工单反馈 - 提交工单处理结果和解决方案
- 工单关闭 - 完成工单并关闭
- 批量操作 - 支持批量反馈和关闭今日/本月工单
数据管理
- 每个用户拥有独立的数据表
- 支持查看今日/本月工单列表
- 工单状态筛选(已反馈/未反馈、已关闭/未关闭)
- 实时同步远程平台数据
界面特性
- 响应式布局设计
- 左侧操作面板,右侧工单列表
- 实时日志输出
- 工单全选/多选操作
- Element Plus 组件库提供美观的 UI
技术栈
前端
- Vue 3 - 渐进式 JavaScript 框架
- Vue Router 4 - 路由管理
- Element Plus - UI 组件库
- Vite - 构建工具
后端
- Tauri 2 - Rust 驱动的桌面应用框架
- Rust - 系统级编程语言
- Tokio - 异步运行时
- tokio-postgres - PostgreSQL 异步驱动
- reqwest - HTTP 客户端
- scraper - HTML 解析
外部服务
- c.baobaot.com - TMS 工单平台 API
- PostgreSQL - 数据持久化存储
项目结构
tms_tools/
├── src/ # 前端源码
│ ├── components/ # Vue 组件
│ │ └── Login.vue # 登录组件
│ ├── service/ # 业务页面
│ │ └── workorder.vue # 工单管理主页面
│ ├── router/ # 路由配置
│ │ └── index.js # 路由定义
│ ├── App.vue # 根组件
│ └── main.js # 入口文件
├── src-tauri/ # Tauri/Rust 后端
│ ├── src/
│ │ ├── lib.rs # 主库文件(Tauri 命令)
│ │ └── main.rs # 程序入口
│ ├── tms_service/ # TMS 服务模块
│ │ └── src/lib.rs # 工单操作 API 封装
│ ├── html_scraper/ # HTML 解析工具
│ │ └── src/lib.rs # 网页内容解析
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── package.json # Node.js 依赖
├── index.html # HTML 入口
└── README.md # 项目说明
安装与运行
环境要求
开发模式
# 安装前端依赖
pnpm install
# 运行开发服务器
pnpm tauri dev
构建生产版本
# 构建桌面应用
pnpm tauri build
构建完成后,安装包将位于 src-tauri/target/release/bundle/ 目录。
使用说明
1. 登录
- 启动应用后进入登录页面
- 输入用户名和密码
- 首次登录会自动创建用户数据表
2. 工单操作
创建工单
- 输入影院编码 (n2nip)
- 填写问题描述
- 选择联系方式(微信/手机)并填写号码
- 点击"创建工单"按钮
- 系统自动创建工单并返回工单 ID
反馈工单
- 填写工单 ID 和处理结果
- 点击"反馈工单"按钮
- 或选择"反馈今日工单"批量处理
关闭工单
- 填写工单 ID
- 点击"关闭工单"按钮
- 或选择"关闭今日工单"批量处理
3. 工单列表
- 切换"今日工单"或"本月工单"查看不同范围
- 使用筛选器过滤已反馈/未反馈、已关闭/未关闭的工单
- 点击"全选"批量选择工单
- 选中后可批量反馈或关闭
API 接口
Tauri 命令
| 命令 | 描述 |
|---|---|
login |
用户登录验证 |
get_cookie |
获取当前登录 Cookie |
get_dashboard_username |
获取仪表板用户名 |
get_workorders |
获取工单列表 |
create_ticket_command |
创建工单 |
insert_workorder |
插入工单到数据库 |
feedback_workorder |
反馈单个工单 |
feedback_today_workorders |
批量反馈今日工单 |
feedback_selected_workorders |
反馈选中的工单 |
close_workorder |
关闭单个工单 |
close_today_workorders |
批量关闭今日工单 |
close_selected_workorders |
关闭选中的工单 |
配置说明
数据库配置
数据库连接配置位于 src-tauri/src/lib.rs:
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
外部 API
- 登录接口:
https://c.baobaot.com/user/ajax_login - 工单平台:
https://c.baobaot.com/cinema/workorder
开发计划
- 支持离线模式
- 添加工单导出功能(Excel/PDF)
- 实现工单搜索功能
- 添加数据统计报表
- 支持多语言切换
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
贡献指南
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
联系方式
如有问题或建议,欢迎通过以下方式联系:
- 提交 GitHub Issue
- 发送邮件至: your.email@example.com
注意: 本工具仅供学习和内部使用,请遵守相关平台的使用条款。
Description
Release
Latest
Languages
Rust
61.4%
D
37.6%
Vue
0.5%
Makefile
0.4%