.NET Core搭配Vue开源弹幕效果,实现一个评论小项目。好玩!

news/2024/11/15 14:06:10/文章来源:https://www.cnblogs.com/ZYPLJ/p/18403223

ZY树洞

前言

ZY树洞是一个基于.NET Core开发的简单的评论系统,主要用于大家分享自己心中的感悟、经验、心得、想法等。

好了,不卖关子了,这个项目其实是上班无聊的时候写的,为什么要写这个项目呢?因为我单纯的想吐槽一下工作中的不满而已。

项目介绍

项目很简单,主要功能就是提供一个简单的评论系统,用户可以发布自己的评论,然后评论以弹幕的形式展示在页面上。

项目后端地址:

  • https://github.com/ZyPLJ/ZYTteeHole

项目前端页面地址:

  • ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue

目前项目测试访问地址:

  • http://tree.pljzy.top/ 注意是http,输成https就访问到博客里面去了。

项目特点

  • 基于.NET Core开发,跨平台
  • 简单易用,界面简洁
  • 匿名评论,不用注册即可发表评论
  • 弹幕效果,评论以弹幕的形式展示在页面上

主要技术

  • ASP.NET Core Web API
  • Entity Framework Core
  • Sql Server数据库 | Sqlite3数据库
  • Vue.js

项目结构

  • ZYTreeHole 主项目
  • ZYTreeHole.Tests 集成测试
  • ZYTreeHole_Services 服务层
  • ZYTreeHole_Models 模型层

项目截图

image

后端部署

创建数据库,默认用的是sqlite3数据库,如需更改要自行替换连接字符串。连接字符串分为2部分,appsetting.json中的用于项目访问数据库,而Models中的MyDbContextDesignFac类用于CodeFirst模式生成数据库。

如果不更换数据库则不需要更改
直接使用终端,进入ZYTreeHole_Models目录输入:

dotnet ef migrations add Init //生成迁移文件
dotnet ef database update //更新数据库

使用dotnet语句需安装.NET SDK

  • 下载 .NET(Linux、macOS 和 Windows) (microsoft.com)

完成数据库生成后,会在Models层生成一个app.db文件,将该文件剪切到ZYTreeHole 主项目里面去就行了。完成上述步骤即可开始部署,将项目打包成文件夹形式,这里就不多讲了。
我是采用的Docker部署,DockerFile文件项目已经包含进去了。
在打包后端路径中打开终端执行,默认部署为44323端口。

docker build -t treehole . --下载镜像
docker run -d -p 44323:44323 -v /...替换成你的打包路径/treehole:/src --name treehole treehole --创建容器

Docker镜像无法下载问题解决

相关链接:国内镜像源下架的解决办法-米续硬 (mixuying.com)

待完成的点

欢迎各位提提意见🤩

参考链接

  • 前端弹幕效果使用开源项目:https://github.com/hellodigua/vue-danmaku

  • 接口限流:.NET Core WebApi接口ip限流实践 - 妙妙屋(zy) - 博客园 (cnblogs.com)

  • 评论关键词过滤:基于.NetCore开发博客项目 StarBlog - (30) 实现评论系统 - 程序设计实验室 - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794305.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx一个端口服务多个网页(带cdn)

这篇博客介绍了如何使用Cloudflare和Nginx,在同一服务器的443端口上托管多个服务。通过为不同子域名配置Nginx反向代理,将请求路由到不同的本地服务,并使用Cloudflare的SSL证书和CDN加速访问。缘起 大学的时候买了一个阿里云的小鸡,一直续费在现在,上面跑了不少服务(tril…

dotnet 读 WPF 源代码笔记 从 WM_POINTER 消息到 Touch 事件

本文记录我读 WPF 源代码的笔记,在 WPF 底层是如何从 Win32 的消息循环获取到的 WM_POINTER 消息处理转换作为 Touch 事件的参数由于 WPF 触摸部分会兼顾开启 Pointer 消息和不开启 Pointer 消息,为了方便大家理解,本文分为两个部分。第一个部分是脱离 WPF 框架,聊聊一个 W…

Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介

Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介Cisco ACI Simulator 6.0(7e)M - ACI 模拟器 Application Centric Infrastructure (ACI) Simulator Software 请访问原文链接:https://sysin.org/blog/cisco-acisim-6/,查看最新版。原创作品,转载请保留出处。 作者主页…

51nod 1274 最长递增路径

因为边权递增,按最小生成树的顺序 dp,设状态 \(dp[i]\) 为 \(i\) 点的最长路径长度,但是需要单调递增,所以考虑可以同时更新(先将原dp数组储存下来,再用新数组的值更新原 dp 数组),答案为 \(max(dp[i])\)。 #include<bits/stdc++.h> using namespace std; #defin…

读软件设计的要素05概念的特性

概念的特性1. 概念的特性 1.1. 专一性原则(specificity principle)认为概念与目的应该一一对应1.1.1. 专一性原则已被证明是概念设计中最有用的原则之一1.1.2. 一个概念最多只能满足一个目的1.2. 很少有没有目的的概念1.2.1. 如果本应隐藏的用户机制被暴露,可能会产生没有目的…

有意思、有趣的文字

苦难既然把我推到了悬崖的边缘,那么就让我在这悬崖边坐下来,顺便看看悬崖下的流岚雾霭,唱支歌给你听。       —— 史铁生《我与地坛》罗翔说:“珍惜你的低谷期,你会看到很多真相。时间能渡的都是愿意自渡的人,没有谁的人生一帆风顺,低谷期的苦难,就是为了积蓄力…

宝可梦gba改版教程/口袋妖怪gba改版教程

背景 心血来潮玩了一些改版,感觉不太人性化,于是想要去稍微学学。 过程 劝退 可以说是非常劝退,gba改版非常的不人性化,比如汇编语言asm,改版工具不支持中文之类的。没有成体系的教程 这是口袋资源吧的教程汇总,虽然看上去很详细,但是其实还是蛮零散的,而且由于贴吧的一…

414周赛第三题 - 3282. 到达数组末尾的最大得分

题目链接 3282. 到达数组末尾的最大得分思路 转换为“矩阵面积”;贪心解决题解链接 【一图秒懂】贪心(Python/Java/C++/Go)关键点时间复杂度 \(O(n)\)空间复杂度 \(O(1)\)代码实现: class Solution:def findMaximumScore(self, nums: List[int]) -> int:answer = maxv =…

使用 Microsoft.Extensions.ServiceDiscovery 进行服务发现并调用

简介 在现代微服务架构中,服务发现(Service Discovery)是一项关键功能。它允许微服务动态地找到彼此,而无需依赖硬编码的地址。以前如果你搜 .NET Service Discovery,大概率会搜到一大堆 Eureka,Consul 等的文章。现在微软为我们带来了一个官方的包:Microsoft.Extension…

第19篇 Protocol Buffers 编译器生成proto文件

1.下载 Protocol Buffers 编译器(protoc) 前往 Protocol Buffers GitHub Releases 页面。在 "Assets" 下找到适合您系统的压缩文件,通常为 protoc-{version}-win32.zip 或 protoc-{version}-win64.zip,其中 {version} 是版本号。2.解压缩 Protoc 编译器 创建一个…

Zlibrary镜像站官方网址的使用教程

Zlibrary的使用说明: 手机端 步骤一、以苹果浏览器为例,打开Z-library镜像站,搜索自己的图书,注册登录之后选择EPUB格式下载步骤二、手机打开下载的文件,即可正常阅读。电脑端 步骤一,如下图所示, 打开Zlibrary官网搜索电子书,点击自己需要的图书步骤二,如下图所示, 在…

Python实现批量提取视频

前言 最近在玩整nas,但是之前把视频和照片都上传到immich了,因为我可以直接在手机中上传照片,但是因为手机内存不够就把视频全删了的,现在只需要把视频下载下来上传到nas中就OK。但是现在问题是immich这东西不支持批量删选视频,只能全选照片和视频,而且一共有50个G的照片…