叉车脱审罚几万?我用 .NET 10 + Vue 3 撸了一套特种设备与资质年审系统,开源了!

本系统是基于.NET 10与Vue 3开发的开源特种设备及人员资质年审合规管理平台,支持SaaS多租户架构、行级数据隔离、自动预警巡检、国密SM3安全认证及跨端(Web/小程序/App)应用。采用Minimal API、FastEndpoints、EF Core 10、PostgreSQL 17与QuestPDF等现代技术栈,面向中小制造与物流企业提供轻量、高可用、易部署的电子台账解决方案。

叉车脱审罚几万?我用 .NET 10 + Vue 3 撸了一套特种设备与资质年审系统,开源了!

项目地址:https://gitee.com/wyabsdai/certi-pass.git
开源协议:MIT(自由商用、修改与二次分发)
一句话介绍:面向中小工贸制造、物流车队企业的特种设备与人员资质年审合规管理系统(SaaS 多租户)。


项目截图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

一、 起因:一次真实的生产“安全事故”

做工贸制造或者物流行业的朋友应该深有体会:

  • 厂里的叉车、行车、压力容器每年都要定检,定检报告锁在档案柜里,什么时候到期全凭安全员脑子记;
  • 工人的电工证、特种焊工证几年一审,有人脱审了还在违规上岗,管理者根本不知情;
  • 应急管理部门或市监局一突击检查,证书脱审直接吃罚单,动辄几万元,甚至责令停产整顿!

这就是典型的行业三长两短:“罚款重、管理乱、应检难”。

市面上动辄几十万的安全生产大系统对小微企业来说太重、太贵。为了彻底解决“证书到期没人管”这个硬伤,我动手写了这款开源的合规管理系统 —— 安审云 CertiPass。

免费提供基础额度,直接帮中小微企业建立电子台账,实现**“到期自动预警、合规一键导出、现场一机一码”**。


二、 核心业务亮点:小而美的合规闭环

整个系统围绕**“事前防范、事中可查、事后可溯”**设计:

模块实际解决的业务痛点
人员资质台账覆盖电工/焊工/叉车/起重机等特种作业证,支持拍照录入,自动追踪复审与到期日。
设备定检台账管理特种设备的注册代码、检验周期、下次检验日,内置检验机构快速联系通道。
全渠道预警中心设定四级预警状态(过期 / 紧急≤30天 / 预警≤60天 / 正常)。每天早上 07:30 自动巡检,企业微信 / 钉钉 / 飞书机器人 + 邮件 + 短信多路强提醒。
现场“一机一码”为每台设备生成带有 SM3 签名的专属二维码贴纸。现场执法或安全巡查时,手机扫码秒级查看定检状态,告别翻纸质档案。
合规报表一键出检查来了不慌!集成 QuestPDF 与 MiniExcel,一键导出带中文字体的高清合规 PDF 与台账 Excel。
大屏可视化看板基于 ECharts 的统计看板,到期风险分布、租户预警趋势一目了然。

三、 硬核技术栈:尝鲜与工业级的结合

技术选型上拒绝陈旧架构,全面采用现代化的高性能组合:

  • 后端底座:.NET 10(Minimal API + FastEndpoints 8 架构),告别庞大的传统 Controller,垂直切片设计(REPR 模式),运行极度轻量且并发强悍。
  • 持久化层:EF Core 10 + PostgreSQL 17,原生高并发与优秀 JSONB/时序处理支持。
  • 管理前端:Vue 3.5 + Vite 7 + Element Plus 2.11 + Pinia + ECharts 6,若依风格动态路由与细粒度按钮权限(certi:worker:add 式)。
  • 移动端:uni-app(Vue 2),适配小程序与 Android/iOS App,满足现场巡查、拍照核验、扫码查看等一线场景。
  • 安全与国密:登录全链路采用 SM3 密码摘要,前端 SM3 加密传输 + 后端二次加盐 salt$SM3(salt+hash) 存储,合规安全性拉满。
  • 文档引擎:QuestPDF(社区版)+ MiniExcel,告别传统组件内存溢出和中文字体缺字问题。

四、 核心架构设计揭秘

1. 优雅的多租户数据行级隔离

作为一款标准的 SaaS 平台,系统采用共享数据库、独立 TenantId 行级隔离方案:
借助 EF Core 的全局查询过滤器(Global Query Filters),开发者在写业务业务查询时完全无感知,底层自动注入 WHERE tenant_id = @t:

// 核心隔离逻辑:通过 ITenantContext 获取当前 JWT 解析出的租户 ID
modelBuilder.Entity<WorkerCertificate>()
    .HasQueryFilter(e => e.TenantId == _tenantContext.CurrentTenantId);

新员工入职、多企业注册,数据天然物理阻断,杜绝越权泄露。

2. 轻量且解耦的预警巡检引擎

系统没有引入庞大的调度中间件,而是通过 .NET 原生 BackgroundService 实现轻量级定时调度:

每日 07:30 (HostedService 定时触发)         手动点击"立即盘点"
           │                                       │
           └─────────────────┬─────────────────────┘
                             ▼
              AlertScanEngine 全租户扫描
                             │
                  计算证书/设备剩余有效天数
                             │
                  命中阈值 (过期 / 30天 / 60天)
                             │
     ┌───────────────────────┼───────────────────────┐
     ▼                       ▼                       ▼
企微/钉钉/飞书 Webhook       SMTP 邮件通道           短信网关推送
     └───────────────────────┬───────────────────────┘
                             ▼
                  cp_alert_logs 落地留痕(同目标同日自动去重)

五、 快速上手:本地 5 分钟跑起来

项目代码结构极其扁平,开箱即用:

├── CertiPass/            # 后端(.NET 10 + FastEndpoints)
├── vue3-sail/            # 管理端前端(Vue3 + Element Plus)
├── app/                  # 移动端(uni-app)
└── sql/                  # 数据库完整导出脚本(DDL + 演示数据)

1. 跑起数据库

安装 PostgreSQL 17,新建数据库并直接导入根目录 SQL:

psql -U postgres -d CertiPass -f sql/certipass_full_export.sql

2. 启动后端 API

编辑 CertiPass/appsettings.Development.json 配置好数据库连接串和 JWT 密钥,命令行直接启动:

cd CertiPass
dotnet run
# 后端即刻运行在 http://localhost:5117,自带 Swagger 文档

3. 启动管理后台

cd vue3-sail
npm install
npm run dev
# 访问 http://localhost:8990 即可看到登录页

预置演示账号:

  • 超管:admin / Cert@2026
  • 企业演示账号:demo / Cert@2026

六、 为什么选择开源?

特种设备与资质合规管理看似是细分领域,但几乎是所有制造工厂、物流车队、工程施工单位的刚性合规痛点。过去这种系统要么是外包定制天价,要么是传统软件界面陈旧、不支持现代通讯软件提醒。

我将整个系统的核心业务逻辑、多租户设计基座、前后端完整代码按 MIT 协议 完整开源出来,希望能够:

  1. 帮中小微企业降本增效:不用花冤枉钱,自己拉个代码就能部署一套高可用、带全渠道提醒的年审台账系统;
  2. 给 .NET + Vue3 开发者提供实战参考:展示 .NET 10 最新的 Minimal API + FastEndpoints 如何快速构建结构干净、性能爆表的 SaaS 业务系统。

项目地址与交流

如果你觉得这个项目对你的业务或者技术进阶有帮助,欢迎去 Gitee 点个 ⭐ Star 支持一下!有任何功能建议、二次开发需求或 Bug 反馈,欢迎提交 Issue 或提 PR 参与贡献!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值