将数据库修改到本地配置文件,修复工单没创建成功依旧会写入数据库的问题

This commit is contained in:
Yakumo Hokori
2026-02-24 16:00:43 +08:00
parent 5e03e76177
commit 1b36901a70
2048 changed files with 41630 additions and 40 deletions

201
README.md
View File

@@ -1,7 +1,200 @@
# Tauri + Vue 3
# TMS Tools - 工单管理工具
This template should help get you started developing with Tauri + Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
[![Tauri](https://img.shields.io/badge/Tauri-2.0-blue?logo=tauri)](https://tauri.app)
[![Vue 3](https://img.shields.io/badge/Vue-3.5-green?logo=vue.js)](https://vuejs.org)
[![Element Plus](https://img.shields.io/badge/Element%20Plus-2.10-blue)](https://element-plus.org)
## Recommended IDE Setup
TMS Tools 是一款基于 Tauri + Vue 3 开发的桌面应用程序,用于管理影院技术支持工单。支持工单的创建、反馈、关闭以及批量操作功能。
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
## 功能特性
### 核心功能
- **用户登录** - 对接 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 # 项目说明
```
## 安装与运行
### 环境要求
- [Node.js](https://nodejs.org/) (v18 或更高版本)
- [Rust](https://www.rust-lang.org/tools/install) (最新稳定版)
- [pnpm](https://pnpm.io/) (推荐) 或 npm
### 开发模式
```bash
# 安装前端依赖
pnpm install
# 运行开发服务器
pnpm tauri dev
```
### 构建生产版本
```bash
# 构建桌面应用
pnpm tauri build
```
构建完成后,安装包将位于 `src-tauri/target/release/bundle/` 目录。
## 使用说明
### 1. 登录
- 启动应用后进入登录页面
- 输入用户名和密码
- 首次登录会自动创建用户数据表
### 2. 工单操作
#### 创建工单
1. 输入影院编码 (n2nip)
2. 填写问题描述
3. 选择联系方式(微信/手机)并填写号码
4. 点击"创建工单"按钮
5. 系统自动创建工单并返回工单 ID
#### 反馈工单
1. 填写工单 ID 和处理结果
2. 点击"反馈工单"按钮
3. 或选择"反馈今日工单"批量处理
#### 关闭工单
1. 填写工单 ID
2. 点击"关闭工单"按钮
3. 或选择"关闭今日工单"批量处理
### 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`
```rust
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](LICENSE) 文件
## 贡献指南
欢迎提交 Issue 和 Pull Request
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 联系方式
如有问题或建议,欢迎通过以下方式联系:
- 提交 [GitHub Issue](https://github.com/yourusername/tms_tools/issues)
- 发送邮件至: your.email@example.com
---
**注意**: 本工具仅供学习和内部使用,请遵守相关平台的使用条款。