• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于移動(dòng)端的方藥離合實(shí)訓(xùn)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    2024-09-21 00:00:00魏培陽(yáng)費(fèi)宇彤高琳章杰董廣通李志斌
    現(xiàn)代電子技術(shù) 2024年16期

    摘" 要: 針對(duì)中醫(yī)藥高等院校學(xué)生在學(xué)習(xí)方劑學(xué)過程中存在的知識(shí)點(diǎn)眾多、識(shí)記量大、興趣度不高和日常練習(xí)困難等問題,通過調(diào)研分析,設(shè)計(jì)一種基于Unity仿真技術(shù)的移動(dòng)端方劑學(xué)方藥離合實(shí)訓(xùn)平臺(tái)。該平臺(tái)前端主要采用Unity框架構(gòu)建功能模塊,選取JWT進(jìn)行輕量級(jí)身份驗(yàn)證,并應(yīng)用RBAC思想實(shí)現(xiàn)權(quán)限管理;后端業(yè)務(wù)邏輯在使用SpringBoot框架的基礎(chǔ)上,通過Java語(yǔ)言編寫。為了保證系統(tǒng)響應(yīng)速度及交互效果,融合MySQL、Redis、ElasticSearch三種體系架構(gòu)的優(yōu)點(diǎn),構(gòu)建了一套性能高效且便于移植的數(shù)據(jù)庫(kù)機(jī)制。所設(shè)計(jì)平臺(tái)實(shí)現(xiàn)了知識(shí)點(diǎn)內(nèi)容學(xué)習(xí)、筆記收藏、錯(cuò)題集、方劑分類練習(xí)、用戶在線PK、積分排行榜等功能。經(jīng)過中醫(yī)藥相關(guān)專業(yè)學(xué)生的驗(yàn)證及使用,驗(yàn)證了該平臺(tái)能夠有效地利用碎片化時(shí)間,隨時(shí)隨地學(xué)習(xí)和測(cè)試用戶對(duì)于方劑學(xué)知識(shí)的掌握情況,達(dá)到了提高自身學(xué)習(xí)效率的目的。

    關(guān)鍵詞: Unity; 方藥離合; 移動(dòng)端APP; 協(xié)程; UI適配; 數(shù)據(jù)庫(kù)機(jī)制; 可視化界面

    中圖分類號(hào): TN911.2?34; TP391.3" " " " " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " "文章編號(hào): 1004?373X(2024)16?0058?11

    Design of mobile terminal based practical training platform of separation and combination of formula and medicine and its implementation

    WEI Peiyang1, 2, 3, FEI Yutong4, GAO Lin4, ZHANG Jie1, DONG Guangtong4, LI Zhibin1

    (1. College of Software Engineering, Chengdu University of Information Technology, Chengdu 610225, China;

    2. College of Computer Science and Technology, Chongqing University of Posts and Telecommunications, Chongqing 400065, China;

    3. Automatic Software Generation amp; Intelligence Service Key Laboratory of Sichuan Province, Chengdu 610225, China;

    4. School of Traditional Chinese Medicine, Beijing University of Chinese Medicine, Beijing 100029, China)

    Abstract: In allusion to the problems of numerous knowledge points, large memorization capacity, low interest, and difficulties in daily practice in the learning process of herbal prescription science for students in higher institutions of Chinese medicine, a mobile terminal herbal prescription science formula and medicine separation and combination practical training platform based on Unity simulation technology is designed by the investigation and analysis. On the front?end of the platform, the Unity framework is mainly adopted to build the functional module, JWT is selected for lightweight authentication, and RBAC thinking is used to realize the permission management. On the basis of using the SpringBoot framework, the backend business logic is written in Java language. In order to ensure system response speed and interaction effect, a high?performance and portable database mechanism is constructed by integrating the advantages of MySQL, Redis, and ElasticSearch architectures. The designed platform can realize functions such as knowledge point content learning, note collection, wrong question collection, herbal prescription classification practice, user online PK, and point ranking list. After the verification and use of students majoring in traditional Chinese medicine, the results show that the platform can effectively make use of fragmented time, learn and test users' mastery of herbal prescription science knowledge anytime and anywhere, and achieve the purpose of improving their learning efficiency.

    Keywords: Unity; separation and combination of formula and medicine; mobile APP; collaborative process; UI adaptation; database mechanism; visual interface

    0" 引" 言

    隨著信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)應(yīng)用已經(jīng)滲透到各行各業(yè),而中醫(yī)藥作為中國(guó)傳統(tǒng)文化的杰出代表,一直是國(guó)家文化繁榮和傳承發(fā)揚(yáng)的重點(diǎn)[1]。信息技術(shù)與中醫(yī)藥的交叉融合發(fā)展,特別是將互聯(lián)網(wǎng)應(yīng)用到中醫(yī)藥教育教學(xué)領(lǐng)域有著巨大的空間[2?3]。經(jīng)過調(diào)研,當(dāng)前傳統(tǒng)中醫(yī)藥教學(xué),尤其是以方劑學(xué)為代表的臨床實(shí)踐類課程普遍存在知識(shí)點(diǎn)零碎且識(shí)記量大,導(dǎo)致學(xué)生學(xué)習(xí)興趣度不高、缺乏完整的背記時(shí)間、日常學(xué)習(xí)和練習(xí)困難等問題[4]。

    針對(duì)中醫(yī)藥教育教學(xué)過程存在的種種問題,利用信息化技術(shù)的優(yōu)勢(shì)和特點(diǎn),國(guó)內(nèi)也出現(xiàn)了一些解決方案和有益的探索。么元超等通過數(shù)據(jù)挖掘技術(shù)整合了方劑學(xué)所涉及的紛繁復(fù)雜的知識(shí)形成體系,并利用關(guān)聯(lián)算法呈現(xiàn)數(shù)據(jù)背后隱藏的知識(shí)價(jià)值,形成融合教學(xué)和科研雙重功能的方劑學(xué)實(shí)踐實(shí)訓(xùn)平臺(tái)[5]。粟栗等探討了一種基于方劑學(xué)基礎(chǔ)知識(shí)自主學(xué)習(xí)與測(cè)試的在線平臺(tái),但是基于Web架構(gòu)的組織形式未能完全考慮當(dāng)前移動(dòng)端蓬勃發(fā)展的需求[6]。王寶瑩等研發(fā)了一款基于Android平臺(tái)的中藥方劑學(xué)移動(dòng)應(yīng)用,但知識(shí)題庫(kù)內(nèi)容不夠豐富[7]。

    文獻(xiàn)[8]從系統(tǒng)響應(yīng)和反饋角度提出了一種方劑學(xué)實(shí)訓(xùn)平臺(tái),但是較多關(guān)注性能和數(shù)據(jù)同步。上述研究人員利用信息化手段從不同方向?qū)Ψ絼W(xué)教學(xué)實(shí)踐做了嘗試,同時(shí),針對(duì)中醫(yī)藥其他專業(yè)課程的教學(xué)改革也呈現(xiàn)出百花齊放的態(tài)勢(shì)。王璐宇等研發(fā)了卡牌類中醫(yī)藥手機(jī)游戲“百草大師”,將中醫(yī)藥相關(guān)知識(shí)轉(zhuǎn)化為大學(xué)生喜聞樂見的游戲形式,一定程度上增強(qiáng)了知識(shí)學(xué)習(xí)的趣味性,讓玩家在學(xué)習(xí)知識(shí)的同時(shí)又能夠領(lǐng)略中醫(yī)藥文化的博大精深[9]。魏培陽(yáng)等針對(duì)中醫(yī)藥典籍閱讀不便的情況,研發(fā)了一套閱讀對(duì)照系統(tǒng),實(shí)現(xiàn)原文與文獻(xiàn)、原文與圖片等對(duì)照閱讀及標(biāo)注[10]。周笑盈利用虛擬現(xiàn)實(shí)技術(shù),設(shè)計(jì)了一種基于古代典籍的可視化閱讀系統(tǒng)[11]。蘇哲采用Unity研發(fā)了一套基于衛(wèi)生監(jiān)督業(yè)務(wù)的仿真實(shí)訓(xùn)平臺(tái)[12]。

    由上述的文獻(xiàn)可知,國(guó)內(nèi)不同的學(xué)者和研究人員通過多維視角,對(duì)包括方劑學(xué)在內(nèi)的中醫(yī)藥教育教學(xué)信息化做了大量的實(shí)踐和探索,但是存在的問題并未能有效解決。因此,本文吸收借鑒上述文獻(xiàn)思路并結(jié)合當(dāng)前業(yè)務(wù)需求,提出了一種使用Untiy技術(shù)開發(fā)實(shí)現(xiàn)的基于移動(dòng)端應(yīng)用的方藥離合實(shí)訓(xùn)平臺(tái)。

    該平臺(tái)既充分考慮在校學(xué)生零碎時(shí)間較多、興趣度較低、知識(shí)點(diǎn)較雜的現(xiàn)實(shí),又整合了方劑學(xué)的知識(shí)體系,融合了方劑、方藥、病案等多種維度,還可以通過學(xué)習(xí)、筆記、收藏、練習(xí)、PK對(duì)戰(zhàn)等形式強(qiáng)化記憶,提高學(xué)習(xí)積極性。

    1" 項(xiàng)目概述

    方藥離合實(shí)訓(xùn)平臺(tái)是一款基于“互聯(lián)網(wǎng)+方劑學(xué)”臨床實(shí)訓(xùn)需求研發(fā)的移動(dòng)端系統(tǒng)。該平臺(tái)主要通過信息化手段解決方劑學(xué)學(xué)習(xí)存在的普遍性問題,利用移動(dòng)端APP實(shí)現(xiàn)隨時(shí)隨地、無限制地對(duì)方劑學(xué)知識(shí)學(xué)習(xí)、復(fù)習(xí)和練習(xí)的目的。該平臺(tái)以趣味性和游戲性為牽引,主要通過Unity技術(shù)實(shí)現(xiàn)學(xué)生端APP應(yīng)用的豐富化呈現(xiàn)、多角度知識(shí)展示,同時(shí)又具有高度的知識(shí)性和專業(yè)性;平臺(tái)選取JWT做輕量級(jí)身份驗(yàn)證以及應(yīng)用RBAC思想實(shí)現(xiàn)權(quán)限管理;平臺(tái)通過Java語(yǔ)言,應(yīng)用SpringBoot框架實(shí)現(xiàn)業(yè)務(wù)邏輯及管理功能,并通過封裝接口服務(wù)與Unity交互通信;平臺(tái)基于MySQL、Redis、ElasticSearch構(gòu)建了一套性能高效且便于移植的數(shù)據(jù)庫(kù)機(jī)制,承載大數(shù)據(jù)量傳輸和存儲(chǔ)任務(wù),滿足多用戶并發(fā)緩存數(shù)據(jù)需求,確保了系統(tǒng)的響應(yīng)速度和交互效果。

    平臺(tái)根據(jù)方劑學(xué)教學(xué)要求,提供按章節(jié)和知識(shí)點(diǎn)學(xué)習(xí)的模式。在具體實(shí)踐和操作中可以選擇順序、難度、隨機(jī)學(xué)習(xí)等三種形式,實(shí)現(xiàn)對(duì)方劑學(xué)知識(shí)多維度識(shí)記,滿足不同專業(yè)、年級(jí)對(duì)課程的要求,同時(shí)平臺(tái)提供學(xué)習(xí)過程中對(duì)相關(guān)知識(shí)點(diǎn)的個(gè)人筆記記錄、重難點(diǎn)收藏等,滿足用戶的個(gè)性化學(xué)習(xí)要求。平臺(tái)提供知識(shí)問答練習(xí)、多用戶PK對(duì)戰(zhàn)等模式考察用戶對(duì)識(shí)記知識(shí)的掌握情況,并可以及時(shí)提供易錯(cuò)題集,方便查漏補(bǔ)缺和重點(diǎn)復(fù)習(xí);平臺(tái)提供用戶在所處組織的積分排行榜,可以起到督促學(xué)習(xí)、獎(jiǎng)勵(lì)先進(jìn)的效果;平臺(tái)構(gòu)建了方劑學(xué)知識(shí)資源庫(kù),把課程要求掌握的組成、功用、主治病證、配伍等詳情要點(diǎn)做了梳理顯示,通過圖文并茂的展示向用戶傳達(dá)。平臺(tái)整體開發(fā)過程遵循軟件工程項(xiàng)目執(zhí)行步驟和進(jìn)程,總體采用瀑布模型+原型法的建設(shè)思路,通過快速、高效和迭代式的原型不斷與終端用戶溝通交流,匯總和細(xì)化需求。軟件開發(fā)過程采用當(dāng)前主流的前后端分離模式,對(duì)關(guān)鍵核心業(yè)務(wù)功能點(diǎn)重點(diǎn)支撐解決。同時(shí)考慮部署環(huán)境和使用習(xí)慣,依據(jù)穩(wěn)定可靠、簡(jiǎn)單易用和易于維護(hù)擴(kuò)展的原則,整體軟件設(shè)計(jì)和開發(fā)兼顧業(yè)務(wù)功能的完整性和用戶操作的可行性。

    2" 平臺(tái)總體框架

    平臺(tái)的核心業(yè)務(wù)主要由方藥離合實(shí)訓(xùn)平臺(tái)可視化模塊和方藥離合實(shí)訓(xùn)平臺(tái)管理模塊組成。平臺(tái)的整體框架結(jié)構(gòu)圍繞上述兩個(gè)業(yè)務(wù)逐步展開,依據(jù)分層構(gòu)建的思路,逐步向上向下擴(kuò)展,最終形成了如圖1所示的總體框圖。

    平臺(tái)總體框架從上到下依次為展示層、安全網(wǎng)絡(luò)層、網(wǎng)關(guān)層、業(yè)務(wù)層、數(shù)據(jù)中心層、數(shù)據(jù)處理層、持久層、工程化管理層。其中,展示層為平臺(tái)提供的服務(wù)可以通過各種設(shè)備獲取數(shù)據(jù)和瀏覽查看。安全網(wǎng)絡(luò)層,顧名思義負(fù)責(zé)網(wǎng)絡(luò)安全,通過配置網(wǎng)關(guān)、防火墻以及對(duì)部分關(guān)鍵數(shù)據(jù)加密,能夠有效保護(hù)系統(tǒng)不受黑客攻擊和惡意軟件侵害,保護(hù)系統(tǒng)安全。網(wǎng)關(guān)層負(fù)責(zé)接收展示層發(fā)送的處理請(qǐng)求,并向?qū)?yīng)的業(yè)務(wù)模塊發(fā)送指令,保證系統(tǒng)高效的處理能力和吞吐量。業(yè)務(wù)層則包含了系統(tǒng)所有的核心業(yè)務(wù)邏輯和處理,實(shí)現(xiàn)系統(tǒng)的不同業(yè)務(wù)需求,確保多個(gè)應(yīng)用程序、終端可以共享業(yè)務(wù)邏輯和數(shù)據(jù)處理程序,同時(shí)利用權(quán)限管理滿足用戶的各類個(gè)性化需求,通過日志記錄構(gòu)件增強(qiáng)系統(tǒng)復(fù)用性和可維護(hù)性。數(shù)據(jù)中心層負(fù)責(zé)數(shù)據(jù)的匯總和統(tǒng)計(jì),提供按業(yè)務(wù)、角色、類別等不同維度的報(bào)表展示和導(dǎo)出。數(shù)據(jù)處理層提供不同形式的數(shù)據(jù)對(duì)接處理,包括文檔格式的導(dǎo)入導(dǎo)出、并發(fā)處理的消息隊(duì)列、關(guān)鍵數(shù)據(jù)包加解密、用戶驗(yàn)證token的生成與驗(yàn)證以及基礎(chǔ)的數(shù)據(jù)庫(kù)讀寫操作等。持久層主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和管理,保存用戶信息和系統(tǒng)生成的業(yè)務(wù)數(shù)據(jù),并對(duì)各類特殊操作提供緩存、索引等服務(wù),使得對(duì)數(shù)據(jù)的操作更加高效可靠。工程化管理層運(yùn)用CI/CD及容器化思想,使得系統(tǒng)的開發(fā)、集成、部署、測(cè)試等環(huán)節(jié)更加自動(dòng)化、輕量化,提高系統(tǒng)整體質(zhì)量。總之,通過分層架構(gòu),使得平臺(tái)開發(fā)模塊化,在提高靈活性和可維護(hù)性的同時(shí)可以有效降低系統(tǒng)的復(fù)雜度和維護(hù)成本。

    3" 相關(guān)技術(shù)

    3.1" Unity

    Unity是一款跨平臺(tái)游戲開發(fā)引擎,多用于游戲[13]、仿真[14]、虛擬現(xiàn)實(shí)[15]等軟件或系統(tǒng)的開發(fā),該引擎具有優(yōu)秀的圖形渲染效果和引人入勝的視覺感知,并且具有超強(qiáng)的跨平臺(tái)特性,支持PC、手機(jī)和平板等多終端應(yīng)用,完美解決了平臺(tái)移植難題[16],節(jié)約了研發(fā)時(shí)間,提升了開發(fā)效率。

    在平臺(tái)開發(fā)過程中用到的Unity關(guān)鍵技術(shù)主要有以下4項(xiàng)。

    1) 預(yù)制體(Prefab)。Unity中的預(yù)制體是游戲?qū)ο蟮念A(yù)配置集合,可以包含任意數(shù)量的組件、子對(duì)象和屬性設(shè)置。主要用于中醫(yī)藥材模型的建模。

    2) 協(xié)程(Coroutine)。Unity中的協(xié)程是一種輕量級(jí)的異步編程技術(shù),通過IEnumerator函數(shù)實(shí)現(xiàn),通過yield語(yǔ)句,可以在協(xié)程中暫停某些動(dòng)畫等的執(zhí)行。主要用于PK對(duì)戰(zhàn)的連接、答題倒計(jì)時(shí)等場(chǎng)景。

    3) UGUI圖形用戶界面系統(tǒng)。Unity中的UGUI系統(tǒng)是一套強(qiáng)大的界面設(shè)計(jì)工具,支持按鈕、文本、圖像、滑塊等多種元素,并提供可視化編輯器。主要用于界面搭建與設(shè)計(jì)。

    4) 畫布(Canvas)。Unity中的畫布用于呈現(xiàn)和渲染用戶界面,可以設(shè)置不同的渲染模式、攝像機(jī)關(guān)聯(lián)和渲染排序,以適應(yīng)不同UI需求。主要用于提供基礎(chǔ)的分辨率適應(yīng)和縮放。

    3.2" JWT

    JWT(JSON Web Token)是一種緊湊的、URL安全的表示方法,用于表示在雙方之間傳輸?shù)穆暶鳌WT中的聲明被編碼為JSON對(duì)象,該對(duì)象用作JSON Web簽名(JWS)結(jié)構(gòu)的負(fù)載或JSON Web加密(JWE)結(jié)構(gòu)的明文,使聲明能夠通過消息認(rèn)證碼(MAC)進(jìn)行數(shù)字簽名或完整性保護(hù)和/或加密。

    3.3" RBAC

    RBAC(Role?Based Access Control)是一種訪問控制模型,其核心概念是基于角色的權(quán)限分配。該模型的設(shè)計(jì)目標(biāo)是簡(jiǎn)化對(duì)系統(tǒng)資源的訪問管理,提高系統(tǒng)的安全性和可維護(hù)性。

    RBAC的實(shí)現(xiàn)通常包括以下4個(gè)步驟。

    1) 設(shè)計(jì)角色和權(quán)限的層次結(jié)構(gòu)。

    2) 將用戶分配到合適的角色。

    3) 關(guān)聯(lián)權(quán)限到角色,形成訪問控制矩陣。

    4) 通過會(huì)話管理機(jī)制維護(hù)權(quán)限的有效性。

    4" 平臺(tái)功能

    目前,平臺(tái)開發(fā)已經(jīng)完成并進(jìn)入正式運(yùn)行階段。其中,為了確保平臺(tái)的正常運(yùn)行,一共進(jìn)行了9輪測(cè)試,發(fā)現(xiàn)236個(gè)Bug且已經(jīng)全部解決,錄入各類中藥材圖片1 116張,導(dǎo)入10 076道方劑學(xué)題目。

    在基于上述功能性測(cè)試和業(yè)務(wù)性完善的基礎(chǔ)上,形成由方藥離合實(shí)訓(xùn)平臺(tái)可視化模塊和方藥離合實(shí)訓(xùn)平臺(tái)管理模塊組成的方藥離合實(shí)訓(xùn)平臺(tái),其主要功能模塊如圖2所示。

    4.1" 方藥離合實(shí)訓(xùn)平臺(tái)可視化模塊

    方藥離合實(shí)訓(xùn)平臺(tái)可視化模塊是用戶操作的主要部分。由圖2可知,可視化模塊主要由方劑學(xué)習(xí)、筆記查看、知識(shí)點(diǎn)收藏、題目練習(xí)、標(biāo)簽、PK對(duì)戰(zhàn)、題目收藏、排行榜、錯(cuò)題本和個(gè)人信息等10個(gè)功能模塊組成,限于篇幅,本文將重點(diǎn)介紹以下4個(gè)關(guān)鍵業(yè)務(wù)。

    1) 方劑學(xué)習(xí)。該模塊實(shí)現(xiàn)方劑、中藥、炮制、劑型等4種類別知識(shí)識(shí)記學(xué)習(xí)。用戶根據(jù)需求進(jìn)入所選類別模塊對(duì)應(yīng)章節(jié)知識(shí)點(diǎn)學(xué)習(xí),關(guān)鍵核心頁(yè)面如圖3所示。

    進(jìn)入相應(yīng)知識(shí)點(diǎn)即可顯示如圖3a)所示的主頁(yè)面,查看對(duì)應(yīng)方格,以及該方格所示方劑具體組成、功效、主治、方解及用法等,同時(shí)通過頁(yè)面上部的收藏、標(biāo)簽和筆記標(biāo)識(shí)可以分別進(jìn)入如圖3b)~圖3d)所示的具體功能操作頁(yè)面,滿足用戶個(gè)性化學(xué)習(xí)需求。

    2) 題目練習(xí)。該模塊主要通過按難度和章節(jié)兩種練習(xí)模式,達(dá)到對(duì)方劑學(xué)知識(shí)點(diǎn)自測(cè)和練習(xí)的目的,關(guān)鍵核心頁(yè)面如圖4所示。

    用戶選擇其中一種模式進(jìn)入正式做題環(huán)節(jié)后,主頁(yè)面如圖4a)所示,用戶可以根據(jù)需要收藏該題目,同時(shí)頁(yè)面主要顯示該題題干、選項(xiàng)倒計(jì)時(shí),用戶選擇選項(xiàng)確認(rèn)會(huì)自動(dòng)判定是否正確并進(jìn)入下一題。在答題結(jié)束后會(huì)顯示如圖4b)的答題記錄以及如圖4c)所示用戶在組織內(nèi)的排名情況,以督促自身學(xué)習(xí)。

    3) PK對(duì)戰(zhàn)。該模塊包含隨機(jī)匹配、邀請(qǐng)好友對(duì)戰(zhàn)、消息查看、PK詳情查看等功能,其中隨機(jī)PK關(guān)鍵核心頁(yè)面如圖5所示,邀請(qǐng)PK如圖6所示。

    PK對(duì)戰(zhàn)中隨機(jī)匹配可以實(shí)現(xiàn)與當(dāng)前在線用戶臨時(shí)組隊(duì)PK對(duì)戰(zhàn)答題,通過比賽答題獲取積分,率先獲得20分的用戶獲勝。邀請(qǐng)好友對(duì)戰(zhàn)模塊,通過搜索對(duì)手學(xué)號(hào)或名字信息,邀請(qǐng)對(duì)手參與PK對(duì)戰(zhàn),若對(duì)手同意,直接進(jìn)入對(duì)戰(zhàn)界面。被邀請(qǐng)人可以通過消息查看模塊查看對(duì)戰(zhàn)信息并決定是否接受。

    PK對(duì)戰(zhàn)流程如圖7所示。

    4) 個(gè)人信息模塊。該部分實(shí)現(xiàn)用戶頭像、昵稱、E?mail、手機(jī)號(hào)等信息修改。

    4.2" 方藥離合實(shí)訓(xùn)平臺(tái)管理模塊

    方藥離合實(shí)訓(xùn)平臺(tái)管理模塊通常服務(wù)于管理員,用于平臺(tái)數(shù)據(jù)的管理和統(tǒng)計(jì)報(bào)表展示,主要由方劑學(xué)習(xí)、方劑練習(xí)、PK對(duì)戰(zhàn)、統(tǒng)計(jì)查詢、基礎(chǔ)信息管理以及系統(tǒng)管理等6個(gè)模塊組成。本文將重點(diǎn)介紹方劑學(xué)習(xí)、方劑練習(xí)、PK對(duì)戰(zhàn)、基礎(chǔ)信息管理等4個(gè)關(guān)鍵業(yè)務(wù)模塊。

    1) 方劑學(xué)習(xí)。該模塊主要管理方劑學(xué)所有知識(shí)點(diǎn)內(nèi)容,包括增加、刪除和修改知識(shí)點(diǎn)信息。此外,還能夠?qū)φn程所需方劑知識(shí)點(diǎn)進(jìn)行管理,包括對(duì)章節(jié)結(jié)構(gòu)和目錄信息等進(jìn)行維護(hù),便于管理人員對(duì)方劑學(xué)教學(xué)進(jìn)程重難點(diǎn)等做出合理調(diào)整和優(yōu)化完善。核心界面見圖8。

    2) 方劑練習(xí)。該模塊涵蓋題庫(kù)、練習(xí)記錄、錯(cuò)題記錄、易錯(cuò)題等管理模塊,實(shí)現(xiàn)對(duì)方劑練習(xí)題目數(shù)據(jù)的精細(xì)化操作。方劑練習(xí)題目詳情界面如圖9所示。

    3) PK對(duì)戰(zhàn)模塊。該模塊可以查看每個(gè)用戶PK對(duì)戰(zhàn)記錄詳情以及結(jié)果,便于任課教師了解學(xué)生的學(xué)習(xí)進(jìn)展情況。

    4) 基礎(chǔ)信息管理。該模塊完成包括學(xué)生信息、教師信息、組織機(jī)構(gòu)、碼表、日志綜合查詢、標(biāo)簽等子模塊的管理功能,實(shí)現(xiàn)對(duì)基礎(chǔ)信息的維護(hù)和記錄。

    5" 重難點(diǎn)業(yè)務(wù)及技術(shù)實(shí)現(xiàn)

    5.1" PK對(duì)戰(zhàn)連接

    平臺(tái)中存在模型數(shù)量較大、復(fù)雜場(chǎng)景加載以及PK對(duì)戰(zhàn)多用戶連接等情況,容易出現(xiàn)畫面卡頓、宕機(jī)等問題。為解決此類狀況,需要開啟協(xié)程并進(jìn)行異步加載,本文以PK對(duì)戰(zhàn)連接的解決為例,主要通過Unity的協(xié)程實(shí)現(xiàn)與其他用戶的通信。Unity中的Coroutine可以由程序調(diào)用,但是一經(jīng)啟動(dòng)后除非調(diào)用stop()方法,否則將一直執(zhí)行,平臺(tái)利用這一特性實(shí)現(xiàn)與用戶PK對(duì)戰(zhàn)連接建立,也可以取消此行為,以達(dá)到實(shí)時(shí)對(duì)戰(zhàn)和節(jié)省資源的目的。

    PK對(duì)戰(zhàn)連接的具體實(shí)現(xiàn)過程如下。

    1) 點(diǎn)擊“隨機(jī)匹配”按鈕觸發(fā)連接事件,通過協(xié)程每秒訪問一次匹配函數(shù)。

    2) 若匹配未成功,則將繼續(xù)執(zhí)行該協(xié)程訪問匹配;若匹配成功,則將停止執(zhí)行該協(xié)程,繼續(xù)執(zhí)行后端返回的數(shù)據(jù)操作。

    核心代碼如下。

    function PkRequest(): //進(jìn)入循環(huán)等待與其他PK用戶的連接

    while True:

    //傳入該用戶對(duì)應(yīng)的id,與其他正在進(jìn)行匹配的用戶進(jìn)行連接

    LobbyMedViewCtr.instance.cs_match(LoginViewCtr.instance.Model.mPid)

    //等待1 s

    wait for 1 s

    function StopPkRequest():

    if instance.Model.InvitedCheckCoroutine is not 1:

    //獲取MonoBehaviourEx組件

    monoBehaviourExComponent =

    GetMonoBehaviourExComponent(LobbyMedViewCtr.instance.Model.PKRequest)

    //調(diào)用組件上的StopCoroutine方法,結(jié)束PK請(qǐng)求的協(xié)程操作,之后進(jìn)入PK對(duì)戰(zhàn)界面

    monoBehaviourExComponent.StopCoroutine(LobbyMedViewCtr.instance.Model.InvitedCheckCoroutine)

    在PK模塊的實(shí)施中,平臺(tái)引入?yún)f(xié)程以監(jiān)測(cè)其他用戶是否接收到匹配邀請(qǐng)。用戶點(diǎn)擊“取消匹配”,系統(tǒng)會(huì)終止協(xié)程執(zhí)行。一旦匹配成功,系統(tǒng)也將關(guān)閉協(xié)程,并引導(dǎo)用戶進(jìn)入PK答題界面;反之,若匹配未成功,系統(tǒng)將定期執(zhí)行檢查函數(shù)直至連接成功或退出連接。

    5.2" 答題練習(xí)

    平臺(tái)題目相關(guān)詳情全部持久化在數(shù)據(jù)庫(kù),而Unity框架對(duì)數(shù)據(jù)的獲取并不敏感。因此,通過構(gòu)建專門的服務(wù)通信接口,實(shí)現(xiàn)題目相關(guān)信息的傳輸至關(guān)重要。平臺(tái)設(shè)計(jì)了一種接口服務(wù)構(gòu)件,用于獲取題目信息。相關(guān)題目數(shù)據(jù)存儲(chǔ)在MVC架構(gòu)的Model層,以確保系統(tǒng)的數(shù)據(jù)模型層次清晰且有序。在前端展示題目數(shù)據(jù)時(shí),直接從Model層中選取對(duì)應(yīng)數(shù)據(jù),節(jié)約查詢時(shí)間的同時(shí)提高響應(yīng)速度。例如,在答題過程中,通過協(xié)程實(shí)現(xiàn)了答題倒計(jì)時(shí)功能,該機(jī)制通過在主程序執(zhí)行的同時(shí)運(yùn)行倒計(jì)時(shí)邏輯代碼,實(shí)現(xiàn)了對(duì)答題時(shí)間的靈活控制,提高了系統(tǒng)的實(shí)時(shí)性,優(yōu)化了用戶體驗(yàn)。

    部分核心代碼如下。

    function CountDown():

    //設(shè)置答題的時(shí)間為10 min

    setUITimeText(\"10 : 00\")

    //建一個(gè)新對(duì)象GameObject

    newObject = createNewGameObject()

    PracticeMedViewCtr.instance.Model.Timer = newObject

    //添加MonoBehaviourEx組件,準(zhǔn)備打開協(xié)程進(jìn)行倒計(jì)時(shí)

    addMonoBehaviourExComponentTo(PracticeMedViewCtr.instance.Model.Timer)

    timerComponent = getMonoBehaviourExComponent

    (PracticeMedViewCtr.instance.Model.Timer)

    //調(diào)用StartCoroutine方法,開始倒計(jì)時(shí)

    PracticeMedViewCtr.instance.Model.TimerCoroutine =

    timerComponent.StartCoroutine(CountTime)

    為了記錄用戶的答題歷史,平臺(tái)將已經(jīng)回答過的題目信息包括用戶選擇的答案存儲(chǔ)在本地。該設(shè)計(jì)使得用戶能夠隨時(shí)查看已經(jīng)完成的題目信息,方便用戶查閱完整的學(xué)習(xí)記錄。這種設(shè)計(jì)充分體現(xiàn)了對(duì)用戶需求的理解,提供了更加個(gè)性化和智能化的學(xué)習(xí)體驗(yàn)。圖10所示為已做過的題目可返回查看詳情頁(yè)面。

    5.3" UI適配

    由于平臺(tái)基于標(biāo)準(zhǔn)分辨率1 920×1 080制作,而移動(dòng)端設(shè)備的分辨率根據(jù)屏幕大小存在多種情況,因此屏幕適配和布局在應(yīng)用過程中存在一定的問題。

    平臺(tái)采用基于設(shè)備分辨率動(dòng)態(tài)自適應(yīng)調(diào)整畫面顯示內(nèi)容和UI布局的多分辨率適配技術(shù),具體實(shí)現(xiàn)步驟如下。

    1) 將Canvas的Canvas Scalar屬性設(shè)置為“Scale With Screen Size”。

    2) 設(shè)定基準(zhǔn)分辨率和參考分辨率,將所有頁(yè)面UI元素按照基準(zhǔn)分辨率設(shè)計(jì)。

    3) 根據(jù)當(dāng)前設(shè)備的分辨率與參考分辨率(1 920×1 080)之間的比例關(guān)系,對(duì)UI元素進(jìn)行縮放和位置調(diào)整。

    部分核心代碼如下。

    Function AdaptLobbyMed() :

    //找到名為\"Study\"的UI面板,設(shè)置其面板大小,用來適配不同的分辨率

    study = ui_fangyaolihePanel.Find(\"Study\").GetComponentlt;RectTransformgt;()

    //設(shè)置面板的水平大小為屏幕寬度減去80

    study.SetSizeWithCurrentAnchors(RectTransform.

    Axis.Horizontal, Screen.width -80)

    //計(jì)算面板的垂直大小,使其與屏幕高度相適應(yīng)

    height_study = Floor(488/1 920 * Screen.height)

    study.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height_study)

    //獲取面板下名為\"content\"的子物體,設(shè)置其水平大小和垂直大小

    studyContent = ui_fangyaolihePanel.Find(\"Study/content\").GetComponentlt;RectTransformgt;()

    //設(shè)置面板的內(nèi)容區(qū)域水平大小為屏幕寬度減去120

    studyContent.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Screen.width -120)

    //計(jì)算面板內(nèi)容區(qū)域的垂直大小,使其與屏幕高度相適應(yīng)

    height_studycontent = Floor(364/1 920 * Screen.height)

    studyContent.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height_studycontent)

    分辨率調(diào)整公式如下:

    [S=RB]

    式中:R表示參考分辨率;B 表示基準(zhǔn)分辨率;S表示UI元素縮放比例。通過將參考分辨率和基準(zhǔn)分辨率替換為具體的數(shù)值或變量,可以計(jì)算出UI元素的縮放比例。在非標(biāo)準(zhǔn)分辨率下適配界面如圖11a)所示,適配后的界面如圖11b)所示。

    6" 結(jié)" 語(yǔ)

    本文針對(duì)方劑學(xué)教學(xué)中存在的知識(shí)點(diǎn)眾多、識(shí)記量大、學(xué)生興趣度不高和日常練習(xí)困難等問題,設(shè)計(jì)了一種方藥離合實(shí)訓(xùn)平臺(tái)。該平臺(tái)是信息技術(shù)與中醫(yī)藥融合發(fā)展的有益嘗試。該平臺(tái)不僅通過圖文形式生動(dòng)展示方劑學(xué)有關(guān)章節(jié)知識(shí),同時(shí)提供了練習(xí)測(cè)試、在線PK和標(biāo)簽筆記等便捷功能,初步滿足當(dāng)前用戶的需求。但是,隨著平臺(tái)的持續(xù)應(yīng)用,引入推薦算法識(shí)別用戶使用習(xí)慣、重難點(diǎn)題目和易錯(cuò)題等都可以為下一步教學(xué)改革優(yōu)化提供借鑒和思路,也能為用戶提供更加有針對(duì)性和個(gè)性化的學(xué)習(xí)路徑。

    注:本文通訊作者為魏培陽(yáng)。

    參考文獻(xiàn)

    [1] 葉含笑.互聯(lián)網(wǎng)背景下中醫(yī)藥學(xué)科教學(xué)與信息技術(shù)深度融合的研究[J].浙江中醫(yī)藥大學(xué)學(xué)報(bào),2021,45(2):198?201.

    [2] 周文靜,王永輝,閆潤(rùn)紅.互聯(lián)網(wǎng)時(shí)代下現(xiàn)代教學(xué)與傳統(tǒng)教學(xué)方法在方劑學(xué)教學(xué)中的應(yīng)用比較[J].光明中醫(yī),2020,35(9):1421?1422.

    [3] 李璐,焦楠,袁娜.近十年中醫(yī)學(xué)課程教學(xué)方法研究熱點(diǎn)與趨勢(shì)分析[J].中醫(yī)教育,2023,42(3):35?40.

    [4] 魏培陽(yáng),史曉雨,周杰三,等.基于實(shí)時(shí)同步和全文搜索技術(shù)的方劑學(xué)多維實(shí)訓(xùn)平臺(tái)[J].現(xiàn)代電子技術(shù),2024,47(2):67?73.

    [5] 么元超,謝鳴.歷版《方劑學(xué)》教材及其編寫體例考察[J].安徽中醫(yī)藥大學(xué)學(xué)報(bào),2014,33(4):93?96.

    [6] 粟栗,鄒元君,趙書鋒.中醫(yī)方劑學(xué)在線學(xué)習(xí)平臺(tái)的探索與體會(huì)[J].浙江中醫(yī)藥大學(xué)學(xué)報(bào),2010,34(1):110?111.

    [7] 王寶瑩,李泊寧.基于android系統(tǒng)的中藥方劑學(xué)的系統(tǒng)設(shè)計(jì)[J].數(shù)字通信世界,2019(8):102.

    [8] WEI P, SHI X, ZHANG G. A highly accurate data synchronization and full?text search algorithm for Canal and Elasticsearch [C]// 2023 IEEE International Conference on Networking, Sensing and Control. [S.l.]: IEEE, 2023: 1?6.

    [9] 王璐宇,吳謨楠,張洪恕,等.基于橙光游戲平臺(tái)的中醫(yī)藥手機(jī)游戲“百草大師”的設(shè)計(jì)研究[J].科技視界,2017(9):50?51.

    [10] 魏培陽(yáng),亓祺,杜明松,等.面向中醫(yī)藥典籍的閱讀對(duì)照系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2023,46(16):85?90.

    [11] 周笑盈.虛擬現(xiàn)實(shí)技術(shù)在古籍智慧化閱讀推廣中的應(yīng)用與實(shí)踐[J].農(nóng)業(yè)圖書情報(bào)學(xué)報(bào),2022,34(8):79?91.

    [12] 蘇哲.衛(wèi)生監(jiān)督虛擬仿真訓(xùn)練系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2019.

    [13] 尹曉卿.基于Unity3D的MMO移動(dòng)游戲關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2019.

    [14] 朱日楠,王彪,楊?yuàn)檴櫍?Simulink/Unity3D聯(lián)合的飛行控制仿真教學(xué)系統(tǒng)開發(fā)[J].實(shí)驗(yàn)室研究與探索,2023,42(11):187?191.

    [15] 朱濤,楊昊倫.基于Unity3D的虛擬樣板房體驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2018(34):61?64.

    [16] 吳悠,陳亦欣,胡曦.基于Unity平臺(tái)的多操作系統(tǒng)共同開發(fā)技術(shù)研究及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2020,37(z1):237?239.

    松滋市| 社旗县| 密云县| 西城区| 彭山县| 静宁县| 荆州市| 西丰县| 阳东县| 汕尾市| 馆陶县| 沧源| 德清县| 泽州县| 宜兴市| 林西县| 衡山县| 龙州县| 肥西县| 九江市| 靖州| 伽师县| 石首市| 深圳市| 清流县| 满城县| 淮安市| 虎林市| 丰镇市| 昂仁县| 黄龙县| 永清县| 卢湾区| 北票市| 乌拉特后旗| 乐东| 孝昌县| 独山县| 靖边县| 扬中市| 武陟县|