基于.Net5 与 Vue 下的 BBS/Wiki/Blog 毕业设计系统

  • 搭建论坛
  • 搭建博客
  • 信息交流平台
  • 参考学习

更新目录:

由于软件行业的更新迭代,又有更多东西需要学习,本项目已上线测试稳定,近期我将减缓本项目的更新,为 Yi 框架进行全面更新,添加更多的功能!详情请查看本人项目 CC.Yi 意框架的更新。

系统特点:

1:前后端完全分离  2:响应式布局  3:高并发  4:可集群  5:安全  6:高扩展  7:高性能  8:逻辑删除  9:简易

功能模块:

用户管理、权限管理、角色管理、主题管理、板块管理、版主管理、标签管理、等级管理、经验管理、信息管理、收藏管理、样式管理、设置管理、横幅管理、点赞管理、版本管理、道具管理、仓库管理、商城管理、聊天管理、日志管理

演示效果:

(多说无益,实践才是检验真理的唯一标准)
演示版本: v1.3.7

bbs/wiki:论坛/百科

管理员账号:cc

密码:123


blog:个人博客

请使用游客登录

安装教程

后端:
  • 安装 Visual Studio 2019
  • 安装.Net5(.Netcore 5.0)

运行:使用 Visual Studio 2019 启动 sln 文件,所有程序已经配置完成,一键启动后端项目

前端:
  • 安装 Node.js
  • 安装 npm
  • 修改 npm 镜像源

运行:npm i 安装必要模块之后,npm run serve 启动前端项目

数据库:

本项目项目支持各大流行数据库,默认采用 SQLite+Redis 数据库

  • SQLite:各表关系,数据存放(克隆项目中含有 SQLite 数据库,无需配置)
  • Redis:重要设置、配置存放(克隆项目中不含 Redis,请关闭或者自行配置 reids)

关系型数据库修改操作:(sqlserver,MySQL 等等)

1:删除现有 SQLite 包,安装对应的 efcore 连接数据库包

2:修改 appsettings.json 连接数据库 JSON 配置

3:修改对应的数据库连接字符串与 options

4:使用 Nuget 控制台命令:Add-Migration xxx 迁移,再使用 Update-Database 更新数据库

现在,查看你的数据库,已经自动生成!

非关系型数据库修改:(关闭 Redis)

1:修改 settingHelper.cs 文件

2:删除构造方法,并修改代码

return CacheWriter.GetCache<int>("commentPage");

替换成

return [int整形数据];

如果想使用 Redis,请自行添加数据:

  • commentPage:评论页面每页几条数据
  • discussPage:主题页面每页几条数据
  • commentExperience:评论经验
  • discussExperience:发布主题经验
  • title:站点名称

在此,你已能成功启动项目

使用教程

代码生成器使用

一个程序员,项目写的代码越少,代表你越优秀。

你可以拿着本项目代码更改需求,大部分固定代码已通过 T4 模板自动生成,你只需要给出部分参数,点击转换所有 T4 模板即可!写代码,如此简单!

自动生成代码区域:

  • T4DataContext(模型层数据库表)
  • T4IDAL
  • T4IDAL
  • T4IBLL
  • T4BLL
  • T4Startup(启动依赖注入)
  • T4api(前端 API 模板)
  • T4Component(前端增删改查模板)
  • T4Controller(控制器模板)

T4Model 文件夹中含有详细的配置说明

用户-角色-权限 简介:

用户-角色-权限

用户拥有不同的角色,角色拥有不同的权限,同时用户还能拥有特殊权限,你的权限等于,你所有角色拥有的权限 + 特殊权限

我们权限认证的方式为 JWT,我们并未重新发布令牌,这代表着当你权限发生改变的时候,你必须得重新登录以获取最新权限的令牌。(已为后期的集群最好准备)

用户管理:

你可在这里添加、修改、批量删除、查询用户信息

在操作栏中,你可以为该用户设置角色以及特殊权限

角色管理:

你可以在这里添加、修改、批量删除、查询角色信息

在操作栏中,你可以为该角色设置权限

另外,有些角色是特殊的,它将会在项目第一次启动时自动创建

”l-x“:自动对应等级用户添加该权限,例如:

张三目前是 3 级,他将拥有 l-1,l-2,l-3 的角色

至于每级可做的权限,由你来自定义设置

权限管理:

你可以在这里添加、修改、批量删除、查询权限信息

权限路由是你控制用户导航栏的信息:

请注意,这里由一些特殊的权限将会在系统第一次启动时,自动生成

请记住它们:

  • 主题管理
  • 等级管理
  • 设置管理
  • 横幅管理
  • 版本管理
  • 道具管理
  • 商城管理
  • 日志管理
  • 用户管理
  • 角色管理
  • 权限管理
  • 绑定 QQ"
  • 标签管理
  • 收藏管理
  • 发布主题
  • 发布评论
  • 修改信息
  • 样式管理
  • 点赞管理
  • 购买道具
  • 使用道具
  • 聊天管理

每一个权限代表一个功能,你可以自由地将这些权限给不同的角色,或者通过用户管理的特殊权限来设置

其中注意 a-admin 特殊的格式 a-xxx 代表拥有操作 xxx 板块的权限

a-admin 为操作所有板块的权限

现在来看看你的前端导航栏,由 3 个分支:根目录我的权限其他

这里是由权限的路由控制,权限的路由分 3 个种类:

  • 权限路由为空(只有权限,不会在导航页面显示)
  • 权限路由为一个链接(会在导航页面显示,由前端文件进行分类)
  • 权限路由为/my/+ 一个链接(会在其他中显示)

前端导航栏分布文件:

/utils/myaction.js

const actionList = [
    "用户管理",
    "角色管理",
    "权限管理",
    "xxxx",
];
export default { actionList };

你可以在这里进行修改哪些权限将显示在“我的权限”中

本系统应用 Yi 意框架(也是本人搭建的一套快速开发框架)

基于.NET5 的前后端分离 WebAPI 三层架构的高并发高解耦快速开发框架--Yi 意框架(意义是为了开发更简易)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐