基本微信小程序的汉服租赁平台

专业技术开发,收藏关注不迷路


前言

随着社会水平的提供,大众的文化水平,知识水平也随之提高,很多地区,学校都有的图书馆,比如说城市图书,学校图书馆,还有社区图书馆等等。图书系统也慢慢走入我们的生活,图书管理系统具有降低图书管理成本,解决繁重的还借工作的优点。图书馆达到一定的规模以后,图书馆内的图书管理就是一个很急需需要解决的问题,如果没有一个完善的系统去维护,图书管理就会变得很可怕,更不要说通过人工的方式去维护,另外对于图书馆内的图书的借阅,归还,以及图书的续借等等问题都需要严格的把关,如果一本图书在一个同学以及借阅的情况下,图书必须严格记录图书的借阅人,图书的借阅日期,图书的归还日期等等基本信息,保证图书馆内的图书严格有序的进行维护以及对广大群众的方便。
本次设计从图书馆管理人员的角度出发,考虑图书馆管理人员对图书管理工作的繁琐以及整理图书数据的庞大,主要为管理人员管理图书的上架,图书类别等信息的维护。既节约时间,又可以免去图书管工作人员大量的馆务工作,图书管内工作人员可以不用像以前那样各种信息都必须要亲自通知,只需要在系统中发布,图书还借,预约也可以很方便的在系统中进行,一是实现了无纸化图书管理,节约了成本;二是提高了各种工作效率。从读者的角度出发,读者不必去购买各种书籍,图书管工作人员在资源区可以上传各种新书供读者浏览;读者还借预约等信息是通过系统自动管理,为图书管工作人员免去了繁琐的文案工作。

一、项目介绍

在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展,信息时代日益更新,在线图书馆信息管理系统仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——在线图书馆信息管理系统诞生了。
在科技快速发展的今天,各个行业都在不断地与现代化的先进技术相结合,利用科技的方法来提升自己的竞争力。网上图书馆的信息管理系统自然也不例外,网上图书馆的信息管理系统是伴随着互联网技术的日益成熟而产生的,它从根本上改变了以往传统的管理模式;这不但降低了对服务的管理难度,而且提高了对服务的管理的灵活性。主要模块由管理人员组成。系统主页,个人中心,用户管理;对图书进行分类,信息,借阅等方面的管理;管理还书,图书存取,图书管理,图书管理;管理论坛,系统,使用情况。系统主页,个人中心,图书借阅,图书还书。在系统中,管理员的作用主要是对各种信息进行安全、高效地存储和管理,还可以对系统进行管理、更新、维护等操作,并且对在线图书馆拥有相应的操作权限。它强调的是互动协作和管理的互动性,充分调动了管理者的创造力和积极性,有利于实现网上图书馆的信息管理。

二、开发环境

开发软件:VS 2017 (版本2017以上即可,不能低于2017)
数据库:SqlServer2008r2(数据库版本无限制,都可以导入)
开发模式:mvc
浏览器:谷歌浏览器

三、功能介绍

在线图书馆信息管理系统功能模块图如图1所示。
在这里插入图片描述

图1 在线图书馆信息管理系统功能模块图
基本实现了图书管理系统应有的主要功能模块,本系统有管理员、用户,管理员:主页、个人中心、图书分类管理、热门图书管理、用户管理、图书借阅管理、图书归还管理、图书入库管理、论坛管理、系统管理,用户;主页、个人中心、图书借阅管理、图书归还管理、我的收藏管理,前台首页;首页、热门图书、论坛信息、新闻资讯、我的、跳转到后台、客服等操作。

四、核心代码

部分代码:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Newtonsoft.Json;
using Xiezn.Core.Business.Services;
using Xiezn.Core.Common.Helpers;
using Xiezn.Core.Models.ViewModel;

namespace Xiezn.Core.Controllers
{
    /// <summary>
    /// 公共接口
    /// </summary>
    [Route("[action]")]
    public class CommonController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;
        private readonly string _savePath;
        private readonly CommonService _bll;
        private readonly ConfigService _configBLL;

        /// <summary>
        /// 构造函数
        /// </summary>
        public CommonController(IHostingEnvironment hostingEnvironment)
        {
            _hostingEnvironment = hostingEnvironment;
            _savePath = _hostingEnvironment.WebRootPath + Path.DirectorySeparatorChar + ConfigHelper.GetConfig("SchemaName") + Path.DirectorySeparatorChar + "upload" + Path.DirectorySeparatorChar;
            _bll = new CommonService();
            _configBLL = new ConfigService();
        }

        /// <summary>
        /// 获取某表的某个字段列表接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{columnName}")]
        public JsonResult Option(string tableName, string columnName)
        {
            try
            {
                int level = Convert.ToInt32(HttpContext.Request.Query["level"]);
                string parent = HttpContext.Request.Query["parent"];
                string conditionColumn = HttpContext.Request.Query["conditionColumn"];
                string conditionValue = HttpContext.Request.Query["conditionValue"];
                if (!string.IsNullOrEmpty(conditionColumn) && !string.IsNullOrEmpty(conditionValue))
                {
                    return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "option", 0, 0, " AND " + conditionColumn + " = '" + conditionValue + "' ") });
                }
                if (level == 0)
                {
                    return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, parent, level) });
                }
                else
                {
                    return Json(new { Code = 0, Data = _bll.Common(tableName, columnName) });
                }
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 根据option字段值获取某表的单行记录接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <param name="columnValue">列值</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{columnName}")]
        public JsonResult Follow(string tableName, string columnName, string columnValue)
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, columnValue, 0, "follow") });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 根据主键id修改table表的sfsh状态接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="id">主键id</param>
        /// <param name="sfsh">当前审核状态(是/否)</param>
        /// <returns></returns>
        [HttpPost("{tableName}")]
        [Authorize(Roles = "Admin,Client")]
        public JsonResult Sh(string tableName, int id, string sfsh)
        {
            try
            {
                if (_bll.Common(tableName, id.ToString(), sfsh, 0, "sh") > 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="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <param name="type">类型(1表示数字比较提醒,2表示日期比较提醒)</param>
        /// <param name="remindStart">remindStart小于等于columnName满足条件提醒,当比较日期时,该值表示天数</param>
        /// <param name="remindEnd">columnName小于等于remindEnd 满足条件提醒,当比较日期时,该值表示天数</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{columnName}/{type}")]
        public JsonResult Remind(string tableName, string columnName, int type, int remindStart, int remindEnd)
        {
            try
            {
                return Json(new { Code = 0, Count = _bll.Common(tableName, columnName, "", type, "remind", remindStart, remindEnd) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 计算规则接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{columnName}")]
        public JsonResult Cal(string tableName, string columnName)
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "cal") });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 人脸比较
        /// </summary>
        /// <param name="face1">图片1名称</param>
        /// <param name="face2">图片2名称</param>
        /// <returns></returns>
        [HttpGet]
        public JsonResult MatchFace(string face1, string face2)
        {
            try
            {
                BaiduAiHelper.clientId = _configBLL.GetValueByName("APIKey");
                BaiduAiHelper.clientSecret = _configBLL.GetValueByName("SecretKey");
                BaiduAiHelper.GetAccessToken();
                List<FaceMatchViewModel> matchInfo = new List<FaceMatchViewModel>
                {
                    new FaceMatchViewModel { image = FuncHelper.ImageToBase64(_savePath + face1) },
                    new FaceMatchViewModel { image = FuncHelper.ImageToBase64(_savePath + face2) }
                };
                string result = BaiduAiHelper.FaceMatch(JsonConvert.SerializeObject(matchInfo));
                dynamic resObj = JsonConvert.DeserializeObject(result);
                if (resObj.error_code == 0)
                {
                    return Json(new { Code = 0, Score = resObj.result.score, Msg = "匹配成功!" });
                }
                else
                {
                    return Json(new { Code = -1, Score = 0, Msg = "匹配失败!" });
                }
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 定位接口(根据经纬度坐标获取到省市县(区)信息)
        /// </summary>
        /// <param name="lat">经度</param>
        /// <param name="lng">纬度</param>
        /// <returns></returns>
        [HttpGet]
        public JsonResult Location(double lat, double lng)
        {
            try
            {
                AddressViewModel addressViewModel = BaiduAiHelper.GetAddress(_configBLL.GetValueByName("baidu_ditu_ak"), lng, lat);
                if (addressViewModel == null)
                {
                    return Json(new { Code = -1, Msg = "位置信息获取失败!" });
                }
                else
                {
                    return Json(new { Code = 0, Data = addressViewModel });
                }
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 类别统计接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="columnName">列名</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{columnName}")]
        public JsonResult Group(string tableName, string columnName)
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "group") });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按值统计接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <param name="yColumnName">列名</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{xColumnName}/{yColumnName}")]
        public JsonResult Value(string tableName, string xColumnName, string yColumnName)
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.Common(tableName, xColumnName, yColumnName, 0, "value") });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }

        /// <summary>
        /// 按时间统计类型接口
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="xColumnName">列名</param>
        /// <param name="yColumnName">列名</param>
        /// <param name="timeStatType">类型</param>
        /// <returns></returns>
        [HttpGet("{tableName}/{xColumnName}/{yColumnName}/{timeStatType}")]
        public JsonResult Value(string tableName, string xColumnName, string yColumnName, string timeStatType)
        {
            try
            {
                return Json(new { Code = 0, Data = _bll.StatDate(tableName, xColumnName, yColumnName, timeStatType) });
            }
            catch (Exception ex)
            {
                return Json(new { Code = 500, Msg = ex.Message });
            }
        }



    }
}


五、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
第一章 绪 论 1
1.1背景及意义 1
1.2国内外研究概况 2
1.3 研究的内容 2
第二章 关键技术的研究 3
2.1 相关技术 3
2.2 net技术 3
2.3 vs 开发环境 4
2.5 mvc框架 5
第三章 系统分析 5
3.1 系统设计目标 6
3.2 系统可行性分析 6
3.3 系统功能分析和描述 7
3.4系统UML用例分析 8
3.4.1管理员用例 9
3.4.2用户用例 9
3.5系统流程分析 10
3.5.1添加信息流程 11
3.5.2操作流程 12
3.5.3删除信息流程 13
第四章 系统设计 14
4.1 系统体系结构 15
4.2 数据库设计原则 16
4.3 数据表 17
第五章 系统实现 18
5.1用户功能模块 18
5.2管理员功能模块 19
5.3商家用户功能模块 19
5.4前台系统首页功能模块 19
第六章 系统测试 20
6.1测试定义及目的 21
6.2性能测试 22
6.3测试模块 23
6.4测试结果 24
总 结 25
致 谢 27
参考文献 53

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值