.NET MVC项目 游戏后台管理系统

#前言#

感慨临近毕业,才感觉刚踏入编程的门槛,身为技术小白掌握的技术能力面对企业业务,认识到需要学习的还有很多很多,思来想去还是将第一个项目总结一下,日后将每一个项目学习的技术和工具记录下来,提升自身能力。

本次项目为练习项目,目的是对新知识的记录和总结,对重复的,较基础的不做详细解释。

一、项目需求分析与规划

在软件开发的初始阶段,项目需求分析与规划是至关重要的环节。这一过程不仅涉及将客户提出的需求准确地转化为具体的技术实现方案,还需要对项目的可行性进行全面评估,确保开发团队的技术栈能够支撑起这些需求。

游戏后台管理系统使用一般为服务器管理员、运维人员或游戏公司员工,该项目主要是帮助客户方便对员工、游戏数据的管理,以及相应权限访问设置等,这里项目只实现员工管理和权限模块,游戏管理,插入数据后使用基础的CURD语句实现游戏数据的管理。

二、环境准备

  • 操作系统:windows系统
  • 开发工具:Sql Server数据库2022、Visual Studio 2022开发工具、Typora(markdown文档编辑器)。
  • 编程语言和框架:前端:LayUI框架、jQuery;后端:C#语言、ASP .NET MVC框架;数据库:Sql Server数据库。

三、项目开发

本次项目我分为五大模块,实现最基础的后台管理系统,VS创建MVC项目,浅提一下MVC优势

  1. 低耦合性:视图层和业务层分离,允许更改视图层代码而不用重新编译模型和控制器代码。
  2. 可重用性:视图和控制器可以重用相同的模型代码,从而减少代码重复。
  3. 易于维护:由于MVC模式将应用程序的不同功能分离开来,开发人员可以更容易地进行调试和维护。
  4. 并行开发:开发人员可以同时开发模型、视图和控制器,提高开发效率。
后台登录模块-LoginController
模块需求
  • 确保系统的安全性,只允许授权用户访问。

  • 支持用户通过用户名和密码进行登录。

  • 支持登录失败后的错误提示。

操作过程

此次项目前端主要学习使用前端框架LayUI,完成大部分前端界面布局。

layui 是一个基于 jQuery 的前端 UI 框架,它遵循原生 HTML/CSS/JS 的书写形式,让 Web 开发变得更加快速和简单。layui 提供了丰富的 UI 组件,如表格(table)、表单(form)、弹出层(layer)等,非常适合快速开发后台管理系统界面。而 jQuery 是一个快速、小巧、功能丰富的 JavaScript 库,它简化了 HTML 文档遍历和操作、事件处理、动画和 Ajax 交互,使得 Web 开发更加方便快捷。

layui官方文档icon-default.png?t=O83Ahttps://layui.dev/

这里使用的layui表单组件中的登录组件,就能快速完成一个简单好看的登录界面了,前端页面就完成了

登录当然需要有数据来验证,数据大多都保存在服务器的数据库中,这里我们使用的sqlserver数据库,在MVC项目中连接数据库也是十分简单的,创建ADO.NET实体数据模型,然后一直下一步选择要绑定的数据

实体模型提供了数据库表、视图、存储过程等数据库对象的高级抽象,使开发者能够使用强类型的实体类来操作数据。

有数据就可以进行数据判断或验证了,控制器(Controller)视图(View)模型(Model)之间的桥梁,在控制器可以调用相应的模型方法处理数据后,将处理结果传递给视图以进行展示。

这里的控制器登录验证其实就是对数据库查询,验证是否有此用户,如果验证成功就将当前用户存储在Session中并跳转到后台页面,如果会话结束或会话超时,Session会自动销毁,有效保证服务器性能;同时Session也是可以做非登录判断的,这里使用到了ActionFilterAttribute(筛选器)

ActionFilterAttribute 是ASP.NET MVC和ASP.NET Core中用于在控制器操作方法执行前后添加自定义逻辑的一个类,通过继承该类并重写类里OnActionExecuting方法,判断用户是否登录,若未登录便将控制器结果重定向至登录页面

导航布局模块-HomeController
模块需求
  • 提供一个统一的、响应式的导航布局。

  • 支持动态加载导航项,根据用户权限显示不同的菜单项。

  • 提供导航项的嵌套和分组功能,便于管理复杂的页面结构。

  • 支持侧边栏或顶部导航条等多种布局方式。

操作过程

这里作用当作布局页,实现不跳转页面,局部刷新页面,页面主体使用iframe标签实现

此模块还有修改密码,修改个人信息,退出登录等功能,都是实现最简单的功能,就不做展示了

基础信息管理模块-BasicInfoController
模块需求
  • 管理系统的基础信息,如职位信息、机构信息和员工信息等。

  • 支持数据的增删改查(CRUD)操作。

  • 提供数据验证功能,确保输入数据的有效性。

  • 支持EXCAL的数据转换,实现数据的导出和导入

操作过程

此模块下虽然有三个子菜单,主要功能还是对数据的增删改查,三个表格实现略有不同

职位管理菜单,使用了普通的单表查询

组织机构管理菜单,使用了单表的树形结构,使用递归实现

员工基本信息管理,使用了多表联合查询,linq连表查询

导入导出使用NPOI并参考网上的文章实现的

权限管理模块-AuthorityController
模块需求
  • 管理员工的权限,包括角色定义、权限分配等。

  • 权限验证机制,确保用户只能访问其权限范围内的资源。

  • 设置用户、角色、菜单权限,在导航布局模块根据登录用户实现动态菜单。

操作过程

此模块需要对多表查询和表关系熟悉,这里使用两个表和一个关系表创建视图

菜单管理,设置菜单

角色菜单管理,设置角色所能查看的菜单

用户角色管理,设置用户是什么角色,可以拥有对应角色的权限

设置完权限,可以在视图编写C#代码,调用控制器方法,并将数据遍历出来,实现动态菜单

游戏管理模块-GameController
模块需求
  • 管理游戏相关的数据,如游戏、角色、技能、皮肤、玩家数据等。

  • 支持游戏的上下架操作,控制游戏的可访问性。

  • 支持游戏内角色的创建和管理。

操作过程

此模块和以上模块实现相同,不多做模块展示了。

主要实现员工对游戏数据的操作。

四、项目总结

不考虑安全性,系统兼容性,性能等等问题外,一个游戏管理网站的功能算是实现了。项目不足有很多,功能和模块还不算完善,发现问题,解决问题缺少经验,发现到解决逻辑没有很清晰。

微软推出的WPF和.NET Core是现在掌握的WinForms和.NET MVC的功能升级版,实现了跨平台,功能更强大,掌握新技术,新框架跟进技术。

文章也不多碎碎念了,一个项目的结束,也是另一个项目的开始,现阶段太缺少经验了,只有一个项目一个项目的积累方能始终。

C# + SQL Server 本系统包括两类用户:学生、管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息;开设课程、查询课程、录入成绩、统计成绩 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。HRM系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(CRM): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。CRM系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值