🍅选题推荐——以防找不到我们,点击上方订阅专栏✌✌
2024年计算机Java Python安卓APP微信小程序asp.net项目PHP毕业设计2000个热门选题推荐计算机毕业设计如何选题?
安装Chatgdt搜索答辩老师常提的问题-----------------重点
👇🏻文末获取源码联系👇🏻
该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!
软件开发环境及开发工具:
◆开发软件:VS 2017 (版本2017以上即可,不能低于2017)
◆数据库:mysql
◆开发模式:mvc
◆浏览器:谷歌浏览器
功能介绍:
本文拟采用Visual Studio开发工具,Net语言进行开发,后台使用MySQL数据库进行信息管理,
设计开发的课堂学分管理系统。通过调研和分析,系统拥有管理员和学生两个角色,主要具备登录注册、
个人中心、项目分类管理、学分申报管理、学分记录管理、活动信息管理、证书信息管理、系统管理等功能模块。
将纸质管理有效实现为在线管理,极大提高工作效率。
下面是系统运行起来后的一些截图:
2.1 Visual Studio开发工具
Visual Studio是一款非常强大的编程工具软件,它主要使用的语言非常广泛,最为代表性的有C语言、C++、C#等等。Visual Studio系列有单独面向微软系统的产品,也有仅面向苹果系统的产品,也有可跨平台性的Visual Studio Code等产品,Visual Studio最新版本为2022版[5]。它官方主打更快、更可靠的IDE的标语,是作为世界优秀的IDE之一。该工具对软件开发人员是有很大福利的,例如它会自检变量名称、函数、代码类型,以及友好提示,会为用户提供正在编写代码的提示信息,从而能帮助开发人员更快、更准确的完成代码开发。虽然Visual Studio现已更新到2022版,但本次开发是使用Visual Studio2019版本,2019相对于最新版本稳定性更好,虽然兼容性不及,但是针对于信息类管理系统,已经足够能满足使用需求。
2.2 Net语言简介
WPF技术只是NET中的一种, NET是微软对外发布的一个开源的、可跨平台的、免费的开发者平台,开发者可以创建多种多样的应用程序,也可以使用多种开发语言,面向不同的平台。NET Framework已经推出最新版本NET 5或以上更高的版本,支持更全面的技术[6]。由于NET和Windows系统都是由微软推出,所以Windows系统里都会有.NET环境,就像Java的虚拟机一样,为语言跨平台提供了帮助。电脑本机安装的Windows系统版本越高,自带的NET Framework版本也越高,对于WPF的应用程序的界面效果越友好。Visual Studio 2019以上的版本都支持创建该版本以上的解决方案。
2.3 MySQL数据库
MySQL是微软公司推出的数据库平台,它始于三家公司共同研发面市的平台,但是后期独立与优化,增加了许多先进的功能,在天时地利的因素下,使它在数据库管理工具圈里占有举足轻重的地位。在我国也被应用在各行各业的信息管理软件中[8]。它有很多优秀的功能,数据库引擎、事务处理等,最新版的内存技术的改进,云整合的新技术发展,还支持本地数据库的数据和日志文件存在云虚拟器上。它对数据的管理是全方位的,可创建数据库、表、字段、类型、关联、视图等等可视化的数据关系,它作为开发工具,还可为开发人员建立安全、快速、扩展性强的数据库。它的优点很多,相对缺点也很多,但作为研发本系统的数据库管理工具已经绰绰有余。
功能介绍:
本文拟采用Visual Studio开发工具,Net语言进行开发,后台使用MySQL数据库进行信息管理,
设计开发的课堂学分管理系统。通过调研和分析,系统拥有管理员和学生两个角色,主要具备登录注册、
个人中心、项目分类管理、学分申报管理、学分记录管理、活动信息管理、证书信息管理、系统管理等功能模块。
将纸质管理有效实现为在线管理,极大提高工作效率。
下面是系统运行起来后的一些截图:
关键代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Xiezn.Core.Business.Services;
using Xiezn.Core.Common.Helpers;
using Xiezn.Core.Models;
using Xiezn.Core.Models.DbModel;
namespace Xiezn.Core.Controllers
{
/// <summary>
/// 后台管理员相关接口
/// </summary>
[Route("[controller]/[action]")]
public class UsersController : Controller
{
private readonly UsersService _bll;
/// <summary>
/// 构造函数
/// </summary>
public UsersController()
{
_bll = new UsersService();
}
/// <summary>
/// 用户登录接口
/// </summary>
/// <param name="username">用户名</param>
/// <param name="password">密码</param>
/// <returns></returns>
[HttpPost]
public JsonResult Login(string username, string password)
{
try
{
var userInfo = _bll.Login(username, password);
if (userInfo == null)
{
return Json(new { Code = -1, Msg = "账号或密码不正确!" });
}
TokenModel tokenModel = new TokenModel()
{
Uid = userInfo.Id,
Uname = userInfo.Username,
Role = "Admin",
Project = "Xiezn.Core",
TokenType = "Web",
UNickname = "",
Tablename = ""
};
return Json(new { Code = 0, Token = JwtHelper.IssueJWT(tokenModel) });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 用户登出接口
/// </summary>
/// <returns></returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public JsonResult Logout()
{
return Json(new { Code = 0, Msg = "退出成功!" });
}
/// <summary>
/// 注册接口
/// </summary>
/// <param name="entity">注册实体对象</param>
/// <returns></returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public JsonResult Register([FromBody] UsersDbModel entity)
{
try
{
if (_bll.BaseInsert(entity) > 0)
{
return Json(new { Code = 0, Msg = "注册成功!" });
}
return Json(new { Code = -1, Msg = "注册失败!" });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 获取session的接口
/// </summary>
/// <returns></returns>
[HttpGet]
[Authorize(Roles = "Admin")]
public JsonResult Session()
{
try
{
TokenModel tm = CacheHelper.TokenModel;
return Json(new { Code = 0, Data = _bll.BaseGetById(tm.Uid) });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 分页接口
/// </summary>
/// <param name="page">当前页</param>
/// <param name="limit">每页记录的长度</param>
/// <param name="sort">排序字段</param>
/// <param name="order">升序(默认asc)</param>
/// <returns></returns>
[HttpGet]
[Authorize(Roles = "Admin")]
public JsonResult Page(int page = 1, int limit = 10, string sort = "id", string order = "asc")
{
try
{
return Json(_bll.BaseGetPageList(page, limit, sort, order));
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 保存接口
/// </summary>
/// <param name="entity">实体对象</param>
/// <returns></returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public JsonResult Save([FromBody] UsersDbModel entity)
{
try
{
if (_bll.BaseInsert(entity) > 0)
{
return Json(new { Code = 0, Msg = "添加成功!" });
}
return Json(new { Code = -1, Msg = "添加失败!" });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 更新接口
/// </summary>
/// <param name="entity">更新实体对象</param>
/// <returns></returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public JsonResult Update([FromBody] UsersDbModel entity)
{
try
{
if (_bll.BaseUpdate(entity))
{
return Json(new { Code = 0, Msg = "编辑成功!" });
}
return Json(new { Code = -1, Msg = "编辑失败!" });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="ids">主键int[]</param>
/// <returns></returns>
[HttpPost]
[Authorize(Roles = "Admin")]
public JsonResult Delete([FromBody] dynamic[] ids)
{
try
{
if (_bll.BaseDels(ids))
{
return Json(new { Code = 0, Msg = "删除成功!" });
}
return Json(new { Code = -1, Msg = "删除失败!" });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
/// <summary>
/// 详情接口
/// </summary>
/// <param name="id">主键id</param>
/// <returns></returns>
[HttpGet("{id}")]
[Authorize(Roles = "Admin")]
public JsonResult Info(int id)
{
try
{
return Json(new { Code = 0, Data = _bll.BaseGetById(id) });
}
catch (Exception ex)
{
return Json(new { Code = 500, Msg = ex.Message });
}
}
}
}
🍅源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻