首页 > 其他分享 >.NET 8.0 文档管理系统网盘功能的实现

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

时间:2024-09-04 10:50:09浏览次数:9  
标签:8.0 Dorisoy 项目 网盘 文档 NET Pan

前言

大家好,今天推荐一个文档管理系统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/
  • 默认账号:[email protected] 密码:admin@123

1、Desktop 客户端示例

 

2、Web 客户端示例

 

项目地址

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

总结

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

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

最后

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

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

标签:8.0,Dorisoy,项目,网盘,文档,NET,Pan
From: https://www.cnblogs.com/1312mn/p/18392313

相关文章

  • 运行中的Docker容器获取 .NET项目的Dump文件
    进入容器的shelldockerexec-it容器名称或id/bin/bash使用cd命令进入NETSDK所在文件夹cd/usr/share/dotnet/shared/Microsoft.NETCore.App查看当前SDK版本ls进入指定SDK版本的文件夹cd/usr/share/dotnet/shared/Microsoft.NETCore.App/6.0.33使用SDK文......
  • 1p-frac:已开源,仅用单张分形图片即可媲美ImageNet的预训练效果 | ECCV 2024
    分形几何是一个数学分支,主要应用于作图方面。一般来说,分形经过无数次递归迭代后的结果。比如取一条线段,抹去中间的三分之一,会得到长度是原三分之一长的两条线段,中间隔着相同长度的间隙。然后重复这个动作,直到所有的线段都被抹掉,就将会得到被以固定模式出现的间隙隔开的无限多的点......
  • 利用分布式锁、本地锁在ASP.NET Core中实现防抖
    前言#在Web应用开发过程中,防抖(Debounce)是确保同一操作在短时间内不会被重复触发的一种有效手段。常见的场景包括防止用户在短时间内重复提交表单,或者避免多次点击按钮导致后台服务执行多次相同的操作。无论在单机环境中,还是在分布式系统中都有一些场景需要使用它。本文将介绍......
  • 利用分布式锁在ASP.NET Core中实现防抖
    前言在Web应用开发过程中,防抖(Debounce)是确保同一操作在短时间内不会被重复触发的一种有效手段。常见的场景包括防止用户在短时间内重复提交表单,或者避免多次点击按钮导致后台服务执行多次相同的操作。无论在单机环境中,还是在分布式系统中都有一些场景需要使用它。本文将介绍如......
  • 使用.NET源生成器(SG)生成项目的版本号信息
    之前写过一篇源生成器生成自动注入的代码主要是通过SyntaxProvider查找标注特性实现其实除了SyntaxProvider之外还有几个很重要的Provider,比如:MetadataReferencesProvider,AdditionalTextsProvider,AnalyzerConfigOptionsProvider等.今天就讲一下AnalyzerConfigOptionsProvi......
  • cad.net 该死的填充
    捕捉点卡顿cad现在采用了一种密集填充就不显示的策略.系统变量hpmaxlines:默认值100000(十万).其实挺傻的,我们无论何时都要看到填充啊.不然我怎么删掉密集填充呢?不然我还以为没有填充再填充一次呢~它卡顿是发生在画图期间,鼠标经过填充区域密集计算交点,端点...密集计算长......
  • D12 kubernetes 中的资源对象
    1、kubernetes中的资源对象是什么,有什么作用 在Kubernetes中,资源对象是集群内的一个个实体,它们代表了集群的状态和行为。这些资源对象通过Kubernetes的API进行定义和管理,每种资源对象都有特定的作用和用途获取所有的资源kubectlapi-resourcesNAME......
  • 《NET CLR via C#》---第十一章(事件)
    事件成员的类型提供了以下功能:方法能等级它对事件的关注方法能注销它对事件的关注事件发生时,登记的方法将收到通知CLR事件模型以委托为基础。委托是调用回调方法的一种类型安全的方式。对象凭借回调方法接受它们订阅的通知。设计要公开事件的类型在某些情况下,当某个事件......
  • FIT3181: Deep Learning Neural Networks
    FIT3181: Deep Learning (2024)Deep Neural NetworksDue: 11:55pmSunday,8September2024 (Sunday)Important note: This isan individualassignment. Itcontributes25%toyourfinal mark. Readthe assignment instructions carefully.What to s......
  • 【Dash】feffery_antd_componenet 中的 AntdSpace
    一、feffery_antd_componenet中的AntdSpacefeffery_antd_components(简称fac)中的AntdSpace组件是一个基于AntDesign的Dash第三方组件,它用于在水平或垂直方向上放置多个元素,并提供元素之间的间距。以下是AntdSpace组件的一些主要功能:1、设置间距:可以通过size属性来设置元素......