主要技术栈
后端技术栈
- 编程语言:C# / .NET 10
- 应用框架:ASP.NET Core 10
- 微服务框架:.NET Core 内置 + Yarp(反向代理网关)
- 安全框架: ASP.NET Core Identity + JWT Bearer
- 任务调度:Quartz.NET
- 数据库支持:MySQL、Oracle、SQL Server、PostgreSQL、达梦、TiDB
- 持久层框架: Linq2db
- 数据库连接池:内置连接池(默认)
- 服务注册与发现:Nacos(Nacos SDK for C#)
- 客户端负载均衡:Yarp 自带负载均衡 / Haproxy
- 熔断组件:Polly
- 网关组件:Yarp(反向代理网关)
- 日志管理:NLog / Microsoft.Extensions.Logging
- 运行容器:Kestrel + Yarp(或反向代理部署)
- 分布式事务:CAP(DotNetCore.CAP)
- 工作流:Elsa Workflows
前端技术栈
核心框架与工具
框架 :Vue 3.2、TypeScript
CSS 框架 :Sass、TailwindCSS
组件库 :TDesign Vue Next
表格组件 :VTable(@visactor/vtable)
打包构建工具 :Vite
状态管理 :Pinia
关于技术选型的详细说明
1. UI 组件库:TDesign Vue Next
在技术调研阶段,我们对国内主流的 Vue 3 组件库进行了评估,包括 Element Plus、Ant Design Vue 以及 TDesign Vue Next。
| 库 | 优势 | 潜在不足 |
|---|---|---|
| Element Plus | 生态成熟,文档中文友好,社区案例丰富 | 大型项目长期维护时,API 规范一致性略弱于企业级设计体系 |
| Ant Design Vue | 设计规范完善,企业级特性丰富 | 学习曲线相对陡峭,非前端工程师上手成本较高 |
| TDesign Vue Next | 腾讯企业级设计体系,API 统一规范,TypeScript 深度支持,组件丰富(60+),主题定制灵活 | 社区规模小于 Element Plus(但已在腾讯内部大规模验证,更新稳定) |
最终选择 TDesign Vue Next,理由如下:
- 企业级一致性与稳定性:TDesign 提供统一的 API 规范和完善的设计指南,适合长期维护和多人协作的后台系统,降低团队沟通成本。
- 对 TypeScript 的深度支持:完全使用 TypeScript 编写,类型定义精确,与 Vue 3 + TS 技术栈高度契合,提升代码健壮性和开发体验。
- 非前端工程师友好:组件命名和 API 设计直观,配合完善的中文文档,非专职前端成员也能较快上手(优于 Ant Design Vue,与 Element Plus 持平)。
- 丰富的组件与灵活的主题定制:组件数量超过 60 个,覆盖后台绝大多数场景;支持全局/局部主题配置,便于与 TailwindCSS 协同。
- 活跃的社区与大规模验证:已在腾讯内部众多业务线及外部企业项目广泛应用,具有持续的更新保障。
综合以上因素,我们选择 TDesign Vue Next 作为核心 UI 组件库,以兼顾开发效率、代码规范性和长期可维护性。
2. 高性能表格组件:VTable
针对业务中可能出现的大量数据多维分析、复杂报表和看板场景,我们选用了 VTable (@visactor/vtable)作为核心表格组件。VTable 具备以下关键能力:
高性能渲染 :基于 Canvas 的渲染机制,支持万级数据量下的流畅滚动、排序和拖拽,能有效解决传统 DOM 表格在大数据量下的性能瓶颈。
多维数据分析 :内置透视表(Pivot Table)能力,支持行列维度聚合、数据下钻、热力图展示等高级分析功能,完美适配 BI 场景。
灵活的单元格定制 :支持在单元格内嵌入图表(如折线图、柱状图)、自定义布局和交互元素,实现“表格即报表”的融合展示。
与 TDesign 风格可融合 :VTable 提供丰富的主题配置能力,能够与 TDesign 的设计风格保持一致,形成统一、专业的视觉体系。
因此,VTable 的引入是对 TDesign 组件库的重要补充,弥补了通用组件库在复杂表格分析场景下的能力缺口,共同构成了前端表格与展示层的核心基座。