999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于Python的圖書館自習(xí)室管理系統(tǒng)

2022-04-28 09:26:36陳家豪劉永樂王晨陽陳蘭麗孫建冬
科技創(chuàng)新與應(yīng)用 2022年11期
關(guān)鍵詞:頁面圖書館信息

熊 輝,陳家豪,劉永樂,王晨陽,陳蘭麗,,孫建冬

(1.重慶工業(yè)職業(yè)技術(shù)學(xué)院,重慶 401120;2.湖北理工學(xué)院,湖北 黃石 435003;3.湖北師范大學(xué),湖北 黃石 435000)

大學(xué)圖書館良好的學(xué)習(xí)環(huán)境是學(xué)生喜愛到圖書館自習(xí)的主要原因之一。隨著大學(xué)的擴招,圖書館自習(xí)室座位資源與學(xué)生的供需矛盾越來越突出,占座的現(xiàn)象越來越嚴(yán)重[1]。圖書館占座就是在別人去之前一個人占用一個或者多個座位,并且在所占的桌子或者椅子上放著一個物件以表示該座位已經(jīng)被占用。尤其是各種考試前夕,圖書館自習(xí)室便成為了學(xué)生密度最高的地方之一。大多數(shù)國內(nèi)高校目前的解決方案是周期性清理圖書館座位。這樣的方案表面上可以解決使用座位的矛盾,但是自習(xí)室座位的使用率仍然很低。學(xué)生占座后,由于上課與作息時間的需要,座位還是長期處于空座,這樣也會使沒有占到座位的同學(xué)覺得不夠公平。

因此,圖書館如何合理地分配座位,如何高效地使用座位資源,如何建立一個公平合理的自習(xí)室管理制度,成為各大高校亟需解決的問題。

1 圖書館自習(xí)室管理系統(tǒng)現(xiàn)狀

我國對圖書館自習(xí)室管理系統(tǒng)已經(jīng)有了較多的研究[2]。當(dāng)前,在圖書館自習(xí)室管理系統(tǒng)的研究,主要分為以下3個方面:(1)基于人工的圖書館自習(xí)室管理系統(tǒng)。這種的管理方式容易導(dǎo)致自習(xí)室座位使用效率較低,而大多數(shù)學(xué)生得不到自習(xí)室座位。(2)基于C/S構(gòu)架或B/S的圖書館自習(xí)室管理系統(tǒng)。這種結(jié)構(gòu)使用廣泛,但是要求有較好的系統(tǒng)分析基礎(chǔ),開發(fā)成本較高。(3)基于物聯(lián)網(wǎng)技術(shù)的圖書館自習(xí)室管理系統(tǒng)[3]。嵌入式技術(shù)以及物聯(lián)網(wǎng)技術(shù)與校園信息化技術(shù)相結(jié)合,是未來圖書館自習(xí)室管理系統(tǒng)的研究發(fā)展方向。但是現(xiàn)在技術(shù)不夠成熟,軟硬件開發(fā)難度大,成本高。

2 基于Python的圖書館自習(xí)室管理系統(tǒng)開發(fā)

2.1 Python前后端框架的特點

Python是一個結(jié)合了編譯性、互動性、解釋性和面向?qū)ο蟮哪_本語言。Python具有很強的可讀性,相比其他高級程序語言,其語法結(jié)構(gòu)更有特色[4]。基于Python的圖書館自習(xí)室管理系統(tǒng),方案簡潔實用,成本低廉,運行維護方便。Django是一個Python的網(wǎng)站開發(fā)基本框架[5],具有豐富的應(yīng)用庫支持,可以將公共工具包轉(zhuǎn)換為個人開發(fā)包,這使得Django具有很大的擴展性。

Vue.js是Python用于構(gòu)建用戶界面的輕量級響應(yīng)式JavaScript(JS)框架[6]。與其他大型框架不同,Vue可以自底向上逐層應(yīng)用。Vue的核心庫設(shè)計只關(guān)注視圖層,不僅易于上手開發(fā),還便于與第三方支持庫或既有項目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持庫相結(jié)合使用時,Vue也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。

使用前后端分離方式時,所有的靜態(tài)文件將放在靜態(tài)文件服務(wù)器中,向后臺獲取數(shù)據(jù)需要通過各個應(yīng)用程序接口(API)進行。前端在每一個頁面需要通過特殊的API對后端的數(shù)據(jù)實現(xiàn)特定的增、刪、改、查等操作,保證數(shù)據(jù)和操作執(zhí)行的可靠性和安全性。

2.2 系統(tǒng)角色分析

為了保證圖書館自習(xí)室管理系統(tǒng)的順利開發(fā),要對系統(tǒng)的使用者進行角色的劃分,從技術(shù)的可行性分析出不同角色的流程,并分析不同角色不同功能。

圖書館自習(xí)室管理系統(tǒng)的使用者可以劃分為2類:圖書館管理員與使用自習(xí)室的學(xué)生。在圖書館自習(xí)室管理系統(tǒng)中,管理員充當(dāng)系統(tǒng)維護角色,負責(zé)維護系統(tǒng)的正常運轉(zhuǎn)與環(huán)境管理。管理員的主要權(quán)限有以下幾點:(1)圖書館自習(xí)室的座位信息查詢。可以直接看到各個自習(xí)室的使用情況,對應(yīng)的座位號是否被使用等。(2)學(xué)生的狀態(tài)查詢。通過學(xué)號可以看到每個學(xué)生的使用狀態(tài),學(xué)生是否在學(xué);學(xué)生使用的自習(xí)室與座位號;學(xué)生的賬號是否被禁止學(xué)習(xí)等。(3)查看學(xué)生的信息。可以看到學(xué)生的基本信息、借閱情況等。(4)監(jiān)督與處罰。管理員對座位使用情況進行監(jiān)督。如座位被使用而座位上沒人,可以對其使用者進行禁止學(xué)習(xí)操作。(5)恢復(fù)學(xué)生使用。如果學(xué)生反省自己錯誤,可以通過學(xué)號恢復(fù)學(xué)生對系統(tǒng)的使用權(quán)。

學(xué)生的服務(wù)與權(quán)限如下:(1)系統(tǒng)登錄。通過學(xué)號與密碼登錄圖書館自習(xí)室管理系統(tǒng)。(2)個人信息查詢。只能看到自己的基本信息、學(xué)習(xí)狀態(tài)與座位是否被禁用。(3)座位查詢。可以看到每一個自習(xí)室的使用情況、座位使用情況。(4)座位辦理。通過手機App或者電腦網(wǎng)頁,辦理正常的入座與退座。

2.3 系統(tǒng)流程分析

圖書館自習(xí)室的管理核心是可以保證自習(xí)室座位的高效使用,以免浪費座位資源。另外,還要維護良好的學(xué)習(xí)環(huán)境,保證自習(xí)室的安靜、座位的整潔以及公共衛(wèi)生安全。

本系統(tǒng)從學(xué)生與管理員的登錄開始,實現(xiàn)系統(tǒng)的各種功能。基本流程如圖1所示。

圖1 圖書館自習(xí)室管理系統(tǒng)基本流程圖

(1)學(xué)生使用圖書館自習(xí)室管理系統(tǒng),先使用自己的學(xué)號與密碼登錄管理系統(tǒng),隨之可以查看各個自習(xí)室的座位使用情況。如果是空座,那么學(xué)生可以通過點擊座位來選擇入座,如果不是空座則無法點擊。退座的過程也需要學(xué)生確認是否退座。使用座位的過程中,所占的座位會從空座變成被選用。所以各個座位就不會引起使用的沖突。

(2)管理員從登錄頁面開始進入系統(tǒng),需要維護圖書館自習(xí)室的學(xué)習(xí)環(huán)境,不能允許被使用的座位上沒有學(xué)生在學(xué)習(xí)。所有每個管理員有著監(jiān)督與懲罰的權(quán)限,可以禁止學(xué)生使用座位,同時也可以恢復(fù)學(xué)生對座位的使用權(quán)。

3 圖書館自習(xí)室管理系統(tǒng)的實現(xiàn)

3.1 數(shù)據(jù)庫設(shè)計

數(shù)據(jù)庫是一個系統(tǒng)的核心部分,數(shù)據(jù)庫的安全是最重要的,必須能保證用戶的信息安全和隱私安全。本系統(tǒng)選擇MySQL數(shù)據(jù)庫來儲存用戶的使用數(shù)據(jù),采用目前最穩(wěn)定、高效、安全的MySQL 5.7版本。

數(shù)據(jù)庫需要系統(tǒng)角色的劃分,根據(jù)角色特點編寫合適的字段,以便使用時查找與調(diào)用。本系統(tǒng)數(shù)據(jù)庫設(shè)計較簡潔,學(xué)生和管理員相同,有學(xué)號(工號)、名字、密碼等字段。為查詢學(xué)生是否被禁止學(xué)習(xí),給出1個can_study布爾值字段;為顯示學(xué)生是否在學(xué)習(xí)中,給出1個in_study的布爾值,如果正常入座、退座則會改變這個字段;為記錄學(xué)生所用的座位號,給出1個字符串的字段seat_info。自習(xí)室的座位是1個model,需要多次實例化才能得到多個座位。它包含2個字段,1個是讓前端知道座位是否被占用的布爾值字段is_user,還有1個字符字段顯示當(dāng)座位被使用時同學(xué)的學(xué)號。

3.2 前后端分離設(shè)計

本系統(tǒng)采用基于Vue.js前端框架和Django后端框架結(jié)合的前后端分離架構(gòu)設(shè)計。前后端分離的開發(fā),是指前后端工程師約定好數(shù)據(jù)交互接口,并行地進行開發(fā)和測試。前端通過HTTP請求獲取數(shù)據(jù)并負責(zé)將數(shù)據(jù)渲染到頁面上;后端只提供數(shù)據(jù),不負責(zé)將數(shù)據(jù)渲染到頁面上。主要優(yōu)點包括以下幾點。

(1)提升開發(fā)效率。前后端分離以后,可以實現(xiàn)前后端代碼的解耦,只要前后端溝通約定應(yīng)用所需接口以及接口參數(shù),便可以開始并行開發(fā),無需等待對方的開發(fā)工作結(jié)束。(2)增強代碼的可維護性。前后端分離后,應(yīng)用的代碼不再是前后端混合,只有在運行期才會有調(diào)用依賴關(guān)系。(3)支持多終端和服務(wù)化架構(gòu)。前后端分離后,同一套數(shù)據(jù)接口可以為不同的終端提供服務(wù),更有助于打造多終端應(yīng)用。

3.2.1 前端設(shè)計

圖書館自習(xí)室管理系統(tǒng)的使用者只有圖書館管理員和使用自習(xí)室的學(xué)生,因此系統(tǒng)前端設(shè)計簡單清晰。當(dāng)使用者訪問系統(tǒng)時,直接出現(xiàn)登錄界面,如果不進行登錄則無法訪問首頁,也無法看到圖書館的基本信息、自習(xí)室座位等信息。系統(tǒng)設(shè)置了一個攔截器程序,攔截沒有登錄的用戶,避免無關(guān)人員進入系統(tǒng)。登陸后,頁面會依次展示圖書館的簡介、圖書館的開館時間等信息。通過點擊登錄界面的選擇欄可以跳轉(zhuǎn)到個人中心,或者查看各個圖書館自習(xí)室。學(xué)生有自己的個人中心,而管理員可以登錄管理學(xué)生中心頁面。當(dāng)用戶注銷后,網(wǎng)頁自動跳轉(zhuǎn)到需要登錄的頁面,同時清空使用者的使用信息。

3.2.2 后端設(shè)計

為了方便開發(fā),使用Django自帶的后臺管理程序。在Django項目中的admin.py文件中注冊需要被管理的Model。屬性設(shè)置如下:

使用超級賬號訪問“http://127.0.0.1:8000/admin/”網(wǎng)站管理后臺數(shù)據(jù),后臺管理包括學(xué)生管理、座位管理和管理員身份創(chuàng)建。

3.3 用戶登錄模塊

登錄模塊用來識別用戶,對用戶的權(quán)限進行判定。因管理員和學(xué)生登錄身份不同,模塊提供了2個登錄按鈕。為了讓前端區(qū)分出是學(xué)生身份還是管理身份,本系統(tǒng)使用了Vue框架中的Vuex組件,它可以將關(guān)鍵數(shù)據(jù)存在內(nèi)存中,后面開發(fā)模塊使用不同功能,系統(tǒng)可以從內(nèi)存中調(diào)出身份來區(qū)分。登錄成功后頁面會跳轉(zhuǎn)至首頁,如果學(xué)號(工號)或者密碼錯誤則會回饋給前端相應(yīng)的信息。

3.4 入座與退座功能模塊

在座位分配的問題中,系統(tǒng)使用分頁的功能來實現(xiàn)不同自習(xí)室座位的管理。學(xué)生選擇不同的自習(xí)室去訪問不同的座位號碼,就可以得到屬于相應(yīng)自習(xí)室的座位。入座前需要判斷該學(xué)生是否可以使用該系統(tǒng)、操作者是否是學(xué)生、是否已經(jīng)使用了1個座位等。經(jīng)過一系列的判斷后,則可以通過AJAX(Asynchronous JavaScript And XML)向后臺請求入座操作。Vue前端將入座者信息、座位信息傳遞給Django框架后臺,經(jīng)過2個AJAX的“PATCH”請求則完成入座,將學(xué)號信息賦予所選座位,同時把座位信息賦予“個人信息”的“座位號”,學(xué)生的學(xué)習(xí)狀態(tài)改為“學(xué)習(xí)中”,被使用的座位狀態(tài)也被改為“使用中”。入座成功后,程序中相應(yīng)的字段會改變,而系統(tǒng)應(yīng)用界面也會隨之跳轉(zhuǎn)到學(xué)生“個人中心”頁面。

如果學(xué)生學(xué)習(xí)完畢,從“個人中心”點擊“退出學(xué)習(xí)”,需要2個AJAX的“PATCH”請求來改變學(xué)生與座位的字段信息,即座位信息復(fù)原。點擊頁面右上角的“注銷”便可以退出系統(tǒng),內(nèi)存中清除使用者的信息,頁面也會隨著跳轉(zhuǎn)到登錄頁面。

3.5 禁止與恢復(fù)學(xué)生對座位的使用功能

管理員維護自習(xí)室的學(xué)習(xí)環(huán)境,提高座位的使用率。對于占著座位卻發(fā)現(xiàn)座位上沒人的情況,管理員有權(quán)限去禁止這個學(xué)生再次使用該座位。若管理員發(fā)現(xiàn)某座位被使用而座位上卻沒有學(xué)生,可以點擊這個學(xué)號進入管理頁面。為了保護學(xué)生的個人隱私,系統(tǒng)設(shè)定學(xué)生之間不能查看彼此的“個人中心”。因此,前端設(shè)定為只有管理員才可以點擊學(xué)號跳轉(zhuǎn)到特定的學(xué)生管理頁面,可以清楚看到該學(xué)生的基本信息。頁面上設(shè)置搜索框,管理員可以通過學(xué)號來搜索特定學(xué)生。頁面底部設(shè)置了“禁止學(xué)習(xí)”按鈕,點擊可以直接禁止這個學(xué)生使用該座位。點擊后這名學(xué)生的“能否學(xué)習(xí)”字段已被改變,該學(xué)生依然可以登錄這個系統(tǒng)查看每個座位的使用情況,但是無法入座。學(xué)生若反省自己的行為,可以向管理員申請恢復(fù)自己賬號使用。管理員恢復(fù)某個學(xué)生的賬號使用,需要用學(xué)生學(xué)號通過搜索框查找這個學(xué)生。

該查詢操作通過Vue前端AJAX的“POST”請求向后臺發(fā)送學(xué)號,后臺以這段字符串為索引,在數(shù)據(jù)庫中查詢,成功后返回該學(xué)生的信息。Django框架后臺代碼如下:

4 結(jié)束語

高校圖書館自習(xí)室反映了一所大學(xué)的學(xué)習(xí)氛圍,也是學(xué)校圖書館管理水平的體現(xiàn)。基于Python開發(fā)的圖書館座位自習(xí)管理系統(tǒng),界面簡潔,穩(wěn)定性好,開發(fā)維護成本低。該系統(tǒng)為學(xué)生提供必要的座位資源服務(wù)和圖書館管理功能。應(yīng)用程序采用先進的管理員權(quán)限管理功能,可以較好解決圖書館“占座”現(xiàn)象,提高座位資源利用效率,提升圖書館服務(wù)質(zhì)量。

猜你喜歡
頁面圖書館信息
大狗熊在睡覺
刷新生活的頁面
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
飛躍圖書館
圖書館里的是是非非
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
去圖書館
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
主站蜘蛛池模板: 亚洲国语自产一区第二页| 18禁不卡免费网站| 男人天堂亚洲天堂| 久996视频精品免费观看| 99久久精品国产综合婷婷| 91区国产福利在线观看午夜| 国产欧美日韩另类精彩视频| 中文字幕不卡免费高清视频| 欧美国产综合视频| 免费在线一区| 色欲综合久久中文字幕网| 亚洲精品成人片在线播放| 亚洲青涩在线| 草草线在成年免费视频2| 精品在线免费播放| 国产拍揄自揄精品视频网站| 亚洲第一区在线| 亚洲三级色| 2020最新国产精品视频| 欧美亚洲国产精品久久蜜芽| 伊人久久大香线蕉综合影视| 精品视频一区在线观看| 国产亚洲精品91| 国产激爽大片高清在线观看| 亚洲综合18p| 久久精品无码专区免费| 曰AV在线无码| 波多野结衣无码AV在线| 国产性猛交XXXX免费看| 任我操在线视频| 亚洲欧美日韩动漫| 五月婷婷综合网| 国产成人精品午夜视频'| 中国国语毛片免费观看视频| 91香蕉视频下载网站| 内射人妻无码色AV天堂| 欧美一级高清视频在线播放| 亚洲AV电影不卡在线观看| 乱系列中文字幕在线视频| 久久亚洲国产视频| 亚洲综合亚洲国产尤物| 亚洲一区二区三区香蕉| 91欧洲国产日韩在线人成| 在线日韩日本国产亚洲| 99久久精品久久久久久婷婷| 国产精品hd在线播放| 精品偷拍一区二区| 久久中文字幕不卡一二区| 日本草草视频在线观看| 国产成人调教在线视频| 久久精品娱乐亚洲领先| 日韩经典精品无码一区二区| 国产亚洲精品自在线| 最新亚洲人成无码网站欣赏网| 国产精品美女网站| 亚洲中文字幕在线一区播放| 久久久久国色AV免费观看性色| 91在线精品麻豆欧美在线| 91在线日韩在线播放| 欧美国产精品拍自| 亚洲日韩精品伊甸| 91亚瑟视频| 中文无码毛片又爽又刺激| 极品国产一区二区三区| 久久伊伊香蕉综合精品| 国产毛片片精品天天看视频| 国产精品久久久久久搜索| 国产二级毛片| 狠狠操夜夜爽| 91在线激情在线观看| 热久久这里是精品6免费观看| 国产精选自拍| 国产精品久久久久婷婷五月| 欧美国产在线看| 国产成人一二三| 玖玖精品视频在线观看| 天天躁狠狠躁| 乱系列中文字幕在线视频 | 久久免费成人| 国产一级小视频| 亚洲无码精彩视频在线观看| 精品少妇人妻一区二区|