首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

.NET 8.0 文档管理系统网盘功能的实现

编程知识
2024年09月04日 09:46

前言

大家好,今天推荐一个文档管理系统Dorisoy.Pan。

Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统,它集成了 Autofac、MediatR、JWT、EF Core、MySQL 8.0 和 SQL Server 等技术,以实现一个简单、高性能、稳定且安全的解决方案。

这个系统支持多种客户端,包括网站、Android、iOS 和桌面应用,覆盖了文档管理的全流程,如计划、总结、开发、模板、测试、验收、设计、需求、收藏、分享、回收站和总空间等30多种核心功能。

项目介绍

Dorisoy.Pan 是一款基于.NET 8.0的免费、跨平台的文档管理系统。支持 MS SQL 2012 及以上和 MySQL 8.0 及以上数据库,可在 Windows、Linux 或 Mac 上运行。

系统采用全异步方法和令牌认证,遵循最佳安全实践,提供高性能、稳定且安全的文档管理体验。

源代码完全开放且可定制,采用了模块化和清晰的架构设计,使开发和定制特定功能变得简单快捷。

Dorisoy.Pan 利用最新的.NET 生态技术栈,为用户提供了一个既稳定又安全的文档管理解决方案。

项目技术

项目使用的技术栈分为:

  • 后端采用 .NET 8、EF Core、NLog、AutoMapper、FluentValidation、Newtonsoft.Json 和 MediatR;
  • 前端则使用 Node.js 和 Angular。
  • 支持的数据库包括 MS SQL 2012 及更高版本和 MySQL 8.0 及更高版本。

项目结构

项目使用

1、后端启动步骤

  • 使用 Visual Studio 2019 或更新版本打开解决方案文件 Dorisoy.Pan.sln。
  • 在解决方案资源管理器中右键点击并选择"还原 NuGet 包"。
  • 更新 Dorisoy.Pan.API 项目中的 appsettings.json 文件内的数据库连接字符串。
  • 通过 Visual Studio 菜单中的"工具">"NuGet 包管理器">"包管理器控制台",打开包管理器控制台。
  • 在包管理器控制台中,设置默认项目为 Dorisoy.Pan.Domain。 在控制台中运行 Update-Database 命令以创建数据库并填充初始数据。 将 Dorisoy.Pan.API 设置为启动项目。 按 F5 键启动项目。

2、前端启动步骤

如果尚未安装 Node.js,请访问 https://nodejs.org,下载并全局安装 Node.js(确保版本号至少为 4.0,同时 NPM 版本至少为 3),并全局安装 TypeScript。

  • 全局安装 Angular CLI:npm install -g @angular/cli 使用 Visual Code 打开项目目录 \UI。 在集成终端中运行 npm install 以初始化并安装依赖项。
  • 运行 npm run start 启动 Angular 开发服务器。
  • 当 Angular 开发服务器在 localhost:4200 上监听时,在浏览器中打开 http://localhost:4200/。
  • 为了在本地构建并运行生产版本,请执行 ng build --prod。这将生成一个包含压缩后的 HTML、CSS 和 JS 文件的应用程序生产版本,并放置在 dist 文件夹中,该文件夹可用于部署到生产服务器。

项目展示

  • 演示地址:http://pan.dorisoy.com/
  • 默认账号:admin@gmail.com 密码:admin@123

1、Desktop 客户端示例

 

2、Web 客户端示例

 

项目地址

GitHub:https://github.com/dorisoy/Dorisoy.Pan

总结

对于刚开始接触 .NET 8 和 WebAPI 的小伙伴来说,Dorisoy.Pan 提供了一个全面的学习资源,帮助我们快速掌握跨平台开发的技能。项目代码行数为 42,310 行,是一个适合深入学习和实践的保姆级项目。

需要的小伙伴们赶快学习起来吧,希望能够帮助大家提升技术。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

From:https://www.cnblogs.com/1312mn/p/18392313
本文地址: http://shuzixingkong.net/article/1725
0评论
提交 加载更多评论
其他文章 (八)Redis 主从复制、切片集群
一、主从复制 1、主从关系 都说的 Redis 具有高可靠性,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是将一份数据同时保存在多个实例上。为了保证数据一致性,Redis 提供了主从库模式,并采用读写分离的方式,如图 2、主
(八)Redis 主从复制、切片集群 (八)Redis 主从复制、切片集群 (八)Redis 主从复制、切片集群
manim边学边做--曲线类
manim中曲线,除了前面介绍的圆弧类曲线,也可以绘制任意的曲线。 manim中提供的CubicBezier模块,可以利用三次贝塞尔曲线的方式绘制任意曲线。 关于贝塞尔曲线的介绍,可以参考:https://en.wikipedia.org/wiki/B%C3%A9zier_curve。 本文主要介绍
manim边学边做--曲线类 manim边学边做--曲线类 manim边学边做--曲线类
WebShell流量特征检测_冰蝎篇
80后用菜刀,90后用蚁剑,95后用冰蝎和哥斯拉,以phpshell连接为例,本文主要是对这四款经典的webshell管理工具进行流量分析和检测。 什么是一句话木马? 1、定义 顾名思义就是执行恶意指令的木马,通过技术手段上传到指定服务器并可以正常访问,将我们需要服务器执行的命令上传并执行 2、特点
WebShell流量特征检测_冰蝎篇 WebShell流量特征检测_冰蝎篇 WebShell流量特征检测_冰蝎篇
OpenTelemetry 实战:gRPC 监控的实现原理
前言 最近在给 opentelemetry-java-instrumentation 提交了一个 PR,是关于给 gRPC 新增四个 metrics: rpc.client.request.size: 客户端请求包大小 rpc.client.response.size:客户端收到的响应包大小 rpc
OpenTelemetry 实战:gRPC 监控的实现原理 OpenTelemetry 实战:gRPC 监控的实现原理 OpenTelemetry 实战:gRPC 监控的实现原理
Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板
基于electron32+vue3 setup+pinia2桌面端os管理解决方案ElectronVue3OS。 vue3-electron32-os全新原创Electron32+Vite5+Vue3+Pinia2+ArcoDesign+Echarts+Swiper搭建桌面版os管理模板。内置mac
Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板 Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板 Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板
神奇的C语言输出12天圣诞节歌词代码
12天圣诞节程序怎样运行?1988 年,一个令人印象深刻且令人敬畏的 C 代码,代号为 xmas.c,在国际混淆 C 代码竞赛中获胜。该程序甚至比其输出的“压缩”类型还要小,代表了文本压缩标准的全新方式。评委们认为,这个程序像是随意敲击键盘所得到的。但该程序神奇地打印出12天圣诞节的歌词,仅仅几句话
AI时代的信仰是什么
信仰是人们内心深处的信念,是推动人类前进的驱动力。AI从几十年前的缓慢探索,到如今的飞速发展,是什么信仰在驱动这一切呢?
AI时代的信仰是什么 AI时代的信仰是什么 AI时代的信仰是什么
牛逼!Vue3.5的useTemplateRef让ref操作DOM更加丝滑
前言 vue3中想要访问DOM和子组件可以使用ref进行模版引用,但是这个ref有一些让人迷惑的地方。比如定义的ref变量到底是一个响应式数据还是DOM元素?还有template中ref属性的值明明是一个字符串,比如ref="inputEl",怎么就和script中同名的inpu
牛逼!Vue3.5的useTemplateRef让ref操作DOM更加丝滑