# TSL.Tools **Repository Path**: CCYIYI/tsl.tools ## Basic Information - **Project Name**: TSL.Tools - **Description**: tsl tools system - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-07 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TSL.Tools ## 项目简介 TSL.Tools 是一个功能全面的企业级管理系统套件,主要服务于珠宝制造与零售行业。该系统采用现代化的微服务架构思想设计,包含 **后端 Web API**、**Windows 桌面客户端 (WinForms)** 以及 **Web 前端** 三大核心组成部分。系统集成了定价计算、任务调度、用户权限管理及供应链/供应商管理(VMS)等核心业务模块。 ## 技术栈 ### 后端服务 * **框架**: .NET 9 / ASP.NET Core * **ORM**: SqlSugar (支持多数据库) * **任务调度**: Quartz.NET * **API 安全**: JWT (JSON Web Tokens) * **日志**: Serilog ### 桌面客户端 (AppHost) * **框架**: .NET WinForms * **UI 库**: AntdUI (Ant Design for WinForms) * **架构**: 依赖注入 (DI) 与 服务定位器模式 ### Web 前端 * **框架**: Vue 3 + TypeScript * **构建工具**: Vite * **UI 库**: Ant Design Vue ## 项目结构 项目采用多模块解决方案 (Solution) 组织结构: * **`TSL.Tools.Api`**: 核心 Web API 项目,提供所有业务接口。 * `Controllers`: 控制器(Global, Pricing, Task, User, Vms)。 * `Services`: 业务逻辑实现(CostService, TaskService 等)。 * `Jobs`: Quartz 定时任务实现。 * **`TSL.Tools.AppHost`**: Windows 桌面应用程序。 * `Views`: 业务界面(用户管理、定价管理等)。 * `Utilities`: 管理器(PageManager, MenuManager, ThemeHelper)。 * **`TSL.Tools.Web`**: Vue.js 前端项目。 * `src/components/pages`: 各业务模块页面。 * **`TSL.Tools.Core`**: 共享核心类库。 * `Extensions`: 扩展方法(服务注册、配置、映射)。 * `Middleware`: 中间件(异常处理、日志)。 * **`TSL.Tools.Model`**: 共享数据模型。 * `Entity`: 数据库实体定义 (SqlSugar 注解)。 * `Dto`: 数据传输对象 (LoginDto, UserDto, PricingDto)。 * `Enums`: 枚举定义 (PriceTypeEnum, TaskStateEnum)。 ## 核心功能模块 ### 1. 定价管理 (Pricing) 提供精细化的珠宝定价功能,支持多种价格类型(POS码、商品)。 * **成本计算**: 集成金价 (Gold Price)、工费 (Labor Cost)、附加费 (AddCost) 计算。 * **价格组**: 支持按金重范围、金类型划分价格组 (PriceGroup) 与明细项 (GroupItem)。 * **数据导入**: 内置 Excel 模板下载与数据批量上传功能。 * **汇率配置**: 支持多币种汇率配置与转换。 ### 2. 任务调度 (Task Scheduler) 基于 Quartz.NET 的可视化管理后台。 * **定时任务**: 创建、编辑、触发定时任务(C# 类方法调用)。 * **状态控制**: 支持暂停 (Pause)、恢复 (Resume)、立即执行 (Trigger)。 * **日志审计**: 记录任务执行耗时、请求参数、响应结果及异常堆栈。 ### 3. 用户与权限 (RBAC) 完整的基于角色的访问控制体系。 * **认证**: 支持 JWT Token 登录与刷新。 * **授权**: 菜单权限细粒度控制。 * **多语言**: 支持简体中文 (zh-CN)、英文 (en)、繁体中文 (zh-HK)。 ### 4. VMS (供应商管理/物流) 管理送货与备货流程。 * **送货单**: 送货数量、重量、质检状态的录入与编辑。 * **备货单**: 备货数量、质检通过的流转管理。 ## 快速开始 ### 1. 环境准备 * .NET 9 SDK * Node.js (建议 v18+) * SQL Server / MySQL / SQLite (根据配置) ### 2. 启动后端 API ```bash # 进入 API 项目目录 cd TSL.Tools.Api # 还原依赖并运行 dotnet restore dotnet run ``` API 默认端口通常为 `9501` (或配置在 `launchSettings.json` 中)。 ### 3. 启动桌面客户端 使用 Visual Studio 或 Rider 打开解决方案,设置 `TSL.Tools.AppHost` 为启动项并运行。 ### 4. 启动 Web 前端 ```bash # 进入 Web 项目目录 cd TSL.Tools.Web # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ## 配置说明 所有敏感配置(如数据库连接字符串、Token 密钥)均通过 `appsettings.json` 或环境变量管理。请确保在生产环境中使用安全的配置管理方式。