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

基于uni-app和PHP開發的SouTool查課微信小程序

2024-12-31 00:00:00閔慧劉劍華
現代信息科技 2024年12期

摘" 要:為解決校外查課既困難又煩瑣的問題,開發一款SouTool查課微信小程序。通過先進技術的運用可給用戶帶來高效、便捷的查課體驗,贏得師生的廣泛贊譽。系統采用uni-app框架,實現了跨平臺穩定運行。使用Python爬蟲技術從教務系統中快速抓取課表信息。此外,MySQL數據庫、Redis緩存以及PHP后端技術的運用,確保了數據的存儲安全、查詢便捷以及業務邏輯的穩定實現。用戶在微信客戶端打開小程序即可獲取課程信息,從而擺脫錯過課程的煩惱。

關鍵詞:查課微信小程序;uni-app;Python;PHP

中圖分類號:TP311.5" 文獻標識碼:A" 文章編號:2096-4706(2024)12-0105-05

SouTool Course Checking WeChat Mini Program Developed Based on uni-app and PHP

MIN Hui, LIU Jianhua

(School of Software, Hunan College of Information, Changsha" 410200, China)

Abstract: To solve the problem of difficult and tedious extracurricular course checking, it develops a “SouTool” course checking WeChat Mini Program. The application of advanced technology can bring users an efficient and convenient course checking experience, winning widespread praise from teachers and students. The system adopts the uni-app framework, achieving stable cross platform operation. It uses Python crawler technology to quickly retrieve schedule information from the educational administration system. In addition, the application of MySQL database, Redis cache, and PHP backend technology ensures the security of data storage, convenient querying, and stable implementation of business logic. Users can access course information by opening the Mini Program on the WeChat client, thus eliminating the hassle of missing courses.

Keywords: course checking WeChat Mini Program; uni-app; Python; PHP

0" 引" 言

十八大以來,習近平總書記圍繞筑牢國家網絡安全屏障發表了一系列重要論述,多次強調沒有網絡安全就沒有國家安全[1]。湖南信息職業技術學院高度重視網絡安全和信息化管理工作。教務管理系統作為網絡安全管理的重要組成部分,學院通過限定訪問的方式來加強對系統的有效管理。當前,可以通過兩種方式訪問該教務管理系統:

1)用戶在校內可以通過登錄校園網的方式進入教務管理系統進行相關操作。

2)用戶在校外則可以通過VPN遠程訪問的方式登錄教務管理系統進行相關操作。

兩種方式對于老師和學生來說都不是很便捷,鑒于此,本文設計一款名為SouTool的查課微信小程序。該程序通過Python技術自動爬取學校教務管理系統官網上的數據,并將這些數據存儲于自己的服務器中。用戶打開微信客戶端,進入SouTool查課小程序后即可查看自己的課表,這樣可避免遺漏課程。

1" 系統簡介

SouTool查課微信小程序是一款高效便捷的課程信息查詢工具,提供對學生課表、教師課表、教室課表、學生日歷課表、教師日歷課表及課程安排等項目的查詢功能。系統的功能結構如圖1所示。自上線以來,SouTool查課小程序受到廣大師生的熱烈歡迎,累計用戶數已達1.68萬,日均啟用2萬多次。小程序后臺訪問數據如圖2所示。

2" 系統技術方案

SouTool查課小程序使用跨平臺框架uni-app進行開發,并借助uni-app生態中的一流UI框架——uView2進行視覺美化。程序的核心部分采用了Python爬蟲技術,自動從學校的教務管理系統中獲取課表數據。為了保證數據的安全存儲和處理,系統使用了MySQL數據庫。此外,后端還引入了Redis緩存系統,緩存查詢過的數據,提高查詢效率。最后,系統利用PHP技術來處理和實現程序的各種業務邏輯。

系統所有技術如下:

1)uni-app框架。uni-app是一個使用Vue.js開發所有前端應用的框架,開發者編寫一套代碼,可發布到iOS、Android、Web(響應式),以及各種小程序(微信、支付寶、百度、頭條、飛書、QQ、快手、釘釘、淘寶)、快應用等多個平臺[2]。

2)PHP語言。超級文本預處理語言PHP(Hypertext Preprocessor)是一種HTML嵌入式的腳本語言,適用于Web開發領域[3]。PHP應用范圍較廣,它具有開源、免費、跨平臺、面向對象、支持多種數據庫等特點[4]。

3)Redis緩存系統。Redis是一種開源的、支持網絡、可基于內存亦可持久化的日志型Key-Value數據庫,它提供多種語言API,具備高度的靈活性和效率性[5]。

4)Python語言。Python語言是目前廣受喜愛的程序設計語言之一,廣泛應用于管理任務和科學計算方面[6]。它簡單易學,擁有許多標準庫,在Windows或Unix等平臺具有很好的兼容性[7,8]。

3" 系統數據庫設計

系統共有7個數據庫表,分別為班級表、教師表、教室表、課程安排表、輪播圖表、課程表、公告表。各表之間的關聯關系如圖3所示。

其中:

1)班級表用于記錄各個班級的詳細信息,包括班級ID、班級名稱、年級和專業等關鍵字段。

2)教師表記錄每位教師的信息,包括教師ID、教師名稱和別名等字段。

3)教室表用于存儲教室的相關信息,包括教室ID、教室名稱、教室地點以及教室別名等字段。

4)課程安排表是關于課程安排的關鍵信息表,其中包含課程安排ID、課程名稱、年級、專業名稱、學院、學分、課時和總課時等字段。

5)輪播圖表用于存儲輪播圖的相關信息,包括輪播圖ID、輪播圖地址和跳轉地址等字段。

6)課程表是課程、班級與教師的連接橋梁,其中包含課程ID、課程名稱、班級ID和教師ID等關鍵字段。

7)公告表用于存儲公告的詳細內容,包括公告ID和公告內容等字段。

4" 小程序部分功能實現

4.1" 授權頁

用戶首次啟動SouTool查課微信小程序時,需要進行微信授權登錄,以確保賬戶的安全性和隱私保護。授權登錄頁面如圖4(a)所示,用戶只需點擊“確定”按鈕即可完成授權和登錄,登錄頁面如圖4(b)所示。值得一提的是,授權請求僅在用戶首次登錄時出現,后續再次進入小程序無須重復授權。一旦用戶完成授權操作,系統即可獲取用戶的頭像和昵稱信息,以便為用戶提供更為個性化的服務體驗。

4.2" 首頁及學生課表頁

用戶成功完成授權后將進入首頁,用戶可在首頁中心位置看到當天的課程表,如圖5(a)所示。首頁中部分布著程序的各大功能模塊入口,用戶只需點擊某功能入口即可進入對應的功能頁面。例如,用戶點擊“學生課表”功能入口后將進入學生課表查詢頁,頁面效果如圖5(b)所示。

在課表查詢頁中,下方位置設有日期、上一周和下一周的鏈接。用戶單擊日期后會彈出日期選擇控件,他們可以隨意選擇日期,查看所選日期該班級的課程表。同樣地,通過單擊上一周或下一周的鏈接,用戶能夠查看該班級上一周或下一周的課表。

課表查詢頁上方正中央位置會顯示班級名稱。用戶單擊班級名稱后會彈出班級選擇頁,頁面效果如圖5(c)所示。在班級選擇頁中,用戶可以選擇任意班級查詢該班級的課程表。

4.3" 教師課表頁及教室課表頁

教師課表頁和教室課表頁分別用于查詢教師課表和教室課表,頁面效果如圖6(a)和6(b)所示。單擊圖6(a)上方的教師姓名可進入教師選擇頁,如圖6(c)所示,選擇任意教師可查看該教師的課表;單擊圖6(b)上方的教室名可進入教室選擇頁,切換教室選擇頁面中央的日期,可以查看所選日期該教室的課表信息。教室選擇頁下方顯示上一周和下一周鏈接,單擊相應鏈接可查看該教室上一周和下一周的課表。

4.4" 教師日歷課表和教學計劃安排

教師日歷課表可供用戶查看教師當月的課表及其任意月份的課表,課表以日歷表盤的方式顯示,效果如圖7(a)所示。日歷表盤中紅點標記表示該日期有課,綠點標記表示該日期無課。單擊任意一個有課日期,下方會出現當天具體的課表信息。學生日歷課表和教師日歷課表相似,在此不再贅述。

教學計劃模塊可供用戶查看各專業、各年級的授課計劃,方便學生有的放矢地進行下一階段課程的提前學習。教學計劃頁效果如圖7(b)所示。選擇授課專業和授課年級,單擊查詢按鈕可查看該專業指定年級的教學內容。

教學計劃部分前端代碼如下:

lt;view class=\"title\" @click=\"CliSelect\"gt;

{{name}}(本月有{{days.dayCount}}天有課,總共有{{days.dayCounts}}節課)

lt;/viewgt;

lt;view class=\"calendar\"gt;

lt;courseCalendar@change=\"change\" @switch=

\"swich\" :lunar=\"true\" :selected=\"select\" @create=\"init\"gt;

lt;/courseCalendargt;

lt;/viewgt;

lt;view class=\"klist\"gt;

lt;uni-section :title=\"ktitle\" type=\"line\"gt;

lt;uni-card :title=\"item.bname\" :extra=\"item.name\" v-for=\"item in klist\"gt;

lt;text class=\"uni-body\"gt;第{{item.lesson}}節課 - {{item.kname}} - {{item.addr}}lt;/textgt;

lt;/uni-cardgt;

lt;/uni-sectiongt;

lt;/viewgt;

5" 系統關鍵技術

該系統存在兩大關鍵技術難題,一是如何高效獲取課表數據,二是如何提高系統的響應速度。為了及時更新課表數據,同時避免給教務系統服務器帶來過大的壓力,采用定時任務[9]和Python爬蟲服務來獲取教務系統中的課表數據。具體來說,系統默認每10分鐘通過爬蟲服務向教務系統獲取一次課表數據,具體步驟如下:

1)設定每10分鐘請求一次數據。

2)系統獲取相關數據。

3)使用正則表達式[10]對數據進行清洗和處理。

4)將清洗后的數據存儲到內網數據庫中。隨后,內網服務器會將內網數據庫中的課表數據實時推送到外網服務器,供SouTool查課小程序查詢使用。

課表數據獲取的部分代碼如下:

import time

from apscheduler.schedulers.blocking import BlockingScheduler

from kebiao import UpdateKebiao

sched = BlockingScheduler(timezone='Asia/Shanghai')

def Update():

hour = time.strftime(\"%H\", time.localtime(time.time()))

if list(range(7, 24)).count(int(hour)) == 0:

print(hour + \"h,免更新\")

return

UpdateKebiao()

Update()

sched.add_job(Update, 'interval', minutes=10, max_instances=6)

sched.start()

由于本系統主要是一個查詢系統,不需要進行更新、修改等操作,因此采用Redis緩存技術來提高系統的響應速度。具體來說,當SouTool查課小程序向后臺請求課表數據時,Redis會查詢緩存中是否存在該數據,如果存在直接返回課表數據,否則系統會查詢MySQL數據庫,并將查詢到的結果同步到Redis緩存中。最終系統將查詢到的JSON數據返回給SouTool查課小程序。

6" 結" 論

本文介紹了基于uni-app和PHP開發的SouTool查課微信小程序,該小程序可以幫助用戶解決校外查課困難且煩瑣的問題。文章對系統的技術方案、數據庫設計、部分功能的實現以及關鍵技術進行了詳細的闡述。通過uni-app框架、Python爬蟲技術、MySQL數據庫、Redis緩存系統和PHP技術的運用,小程序實現了跨平臺穩定運行、快速抓取課表信息、安全存儲數據以及提高課表查詢效率的目標。

參考文獻:

[1] 中央網絡安全和信息化委員會辦公室,中華人民共和國國家互聯網信息辦公室.習近平:沒有網絡安全就沒有國家安全 [EB/OL].[2023-11-10].https://www.cac.gov.cn/2023-07/14/c_1690986718786673.htm.

[2] 殷慶龍,尚立學,王輝.電機維修管理APP的設計與實踐 [J].工業控制計算機,2023,36(9):23-24.

[3] 胡建偉,趙偉,崔艷鵬,等.一種改進ASTNN網絡的PHP代碼漏洞挖掘方法 [J].西安電子科技大學學報,2020,47(6):164-173.

[4] 張日花,劉婷婷,陳紅娟.基于PHP+MySQL的在線相冊設計與實現 [J].現代信息科技,2023,7(7):15-19.

[5] 趙維娜,孫博,潘墨堯,等.基于Redis緩存技術的APS系統架構設計 [J].河北冶金,2023(S1):55-57.

[6] 周競鴻,聶菊榮.基于微信小程序的Python語言學習平臺設計與實現 [J].信息記錄材料,2023,24(4):201-203.

[7] 姜秋香,郭偉鵬,王子龍,等.Python語言在水文水資源領域中的應用與展望 [J].計算機工程與應用,2023,59(9):46-58.

[8] 崔北元,李金良,孫梅芳.信息技術助力高中物理試題講評可視化——以Python為例 [J].物理教師,2022,43(7):64-67.

[9] 林中霖,時金橋,王美琪,等.基于應用行為劃分的Android惡意應用檢測技術 [J].計算機工程,2023,49(9):125-136.

[10] 杜瑞慶,李一諾,黎作鵬.基于Vue和SpringBoot的C語言程序在線測評系統的設計與實現 [J].唐山師范學院學報,2023,45(3):58-63.

作者簡介:閔慧(1987—),女,漢族,湖南湘潭人,講師,碩士,研究方向:軟件開發。

主站蜘蛛池模板: 在线精品亚洲国产| 国产精品林美惠子在线播放| 国产美女在线免费观看| 日本成人福利视频| 亚洲精品欧美日韩在线| 亚洲成a人在线播放www| 一级成人a毛片免费播放| 爱色欧美亚洲综合图区| 亚洲精品图区| 午夜啪啪网| lhav亚洲精品| 国产青榴视频| 中文字幕精品一区二区三区视频| 欧洲精品视频在线观看| 国产精品久久久久婷婷五月| 亚洲天堂首页| 四虎国产成人免费观看| 久热中文字幕在线观看| 日韩精品无码免费一区二区三区| 国内自拍久第一页| 欧洲亚洲欧美国产日本高清| 婷婷综合亚洲| 久久性视频| 国产一区自拍视频| 亚洲欧美成人综合| 欧美a级在线| 高h视频在线| 欧美日韩v| 国产日韩精品一区在线不卡| 综合人妻久久一区二区精品| 国产欧美日韩一区二区视频在线| 欧美一级色视频| 亚洲成人精品在线| 成人国内精品久久久久影院| 小蝌蚪亚洲精品国产| 亚洲一区精品视频在线| 高潮爽到爆的喷水女主播视频 | 亚洲最黄视频| 亚洲福利片无码最新在线播放 | 99re精彩视频| 国产免费久久精品99re不卡| 高清码无在线看| 2021国产精品自拍| 日韩成人免费网站| 97超碰精品成人国产| 久久中文字幕不卡一二区| 72种姿势欧美久久久久大黄蕉| 亚洲成人播放| 久久精品66| 国产精品无码久久久久AV| 欧美成人一级| 亚洲精品制服丝袜二区| 无码一区中文字幕| 成人免费网站久久久| 国产国拍精品视频免费看 | 国产第一页第二页| 欧美激情视频在线观看一区| 亚洲天堂色色人体| 福利片91| 澳门av无码| 亚洲色中色| 欧美亚洲欧美| 99热线精品大全在线观看| 婷婷丁香在线观看| 亚洲精品爱草草视频在线| 欧美a在线| 99久久亚洲综合精品TS| 亚洲黄色成人| 人妻少妇乱子伦精品无码专区毛片| 狼友视频一区二区三区| 国产精品成人观看视频国产 | 亚洲精品无码AⅤ片青青在线观看| 欧美午夜在线视频| 日韩精品成人网页视频在线| 久久精品国产精品一区二区| 亚洲最大福利网站| aa级毛片毛片免费观看久| 久久综合婷婷| 亚洲欧洲日韩久久狠狠爱| 国产精品对白刺激| 99热国产在线精品99| 亚洲第一av网站|