天天看點

Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]

Python大作業之就診卡管理資訊系統[原創]

項目位址:

  • 網頁連結:http://patientcard.dreamtownapi.com/
  • 後端位址:http://django.dreamtownapi.com
  • 前端Gitee開源位址:https://gitee.com/liuhai038/patient-card_-vue
  • 後端Gitee開源位址:https://gitee.com/liuhai038/patient-card_-django

通過本次作業,自查自學新架構知識,完成此套系統。

作業要求:

(1)開卡功能。設定姓名、年齡、電話、性别等字段。(20分)

(2)挂号功能。增加就診科室和預約就診時間兩個資訊。(10分)

(3)就診功能。增加醫生建議資訊。(20分)

(4)查詢功能。查詢看病記錄。(10分)

(5)銷卡功能。(10分)

(6)退出系統。(10分)

(7)将就診資訊寫入csv表格或者資料庫。(20分)

資料庫設計:

  • 設計思路:每個使用者持有一張卡,一張卡對應多個就診記錄。
  • 資料庫表:就診卡表(card)、就診記錄表(registration)
  • 資料表關系(一對多):card 1 v N registration
  • 資料表結構:
    Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
    Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
  • 巧妙之處:設定deletetime字段,删除記錄時并不直接delete實體删除,而是通過update這個deletetime字段,指派為目前删除時間,即邏輯删除。這樣當deletetime字段為null時,則記錄存在。反之若不為null,則代表記錄已經删除,可拓展作為資源回收筒。

架構:

  • 前端:使用HBuilder編輯器,采用vue架構知識開發uniapp應用。
  • 後端:使用Pycharm編輯器,采用Django架構之時開發web應用。

學到的知識:

  • 學習如何搭建Django項目,接口設計,路由管理,跨域配置。
  • 資料庫設計,使用Django model的面向資料庫ORM對象程式設計。
  • 學會如何使用分布式任務架構:function-scheduling-distributed-framework
  • 學會如何将Django項目部署到伺服器上:參考教程1、參考教程2
  • 鞏固前端vue相關知識:uviewui架構的使用,父子元件傳參等
  • 發現新的素材庫:17素材網 和 素材解析網

遇到的問題:

  • 跨域問題:由于本項目前端向後端擷取敏感使用者資料時,需要傳遞使用者資訊參數,為了友善,通過vue攔截請求,并設定請求header,将使用者資訊設定到header中,供後端擷取。但是後端Django架構預設是對header是拒絕的,需要加入CORS跨域驗證機制。
  • 時區問題:在插入資料時,本地用時區UTC是正常的,部署到伺服器上的時候是小8小時的,導緻就診時間出錯。在生産環境上把UTC改成Asia/Shanghai後恢複正常。
  • 分布式任務排程問題:對于第一次使用function-scheduling-distributed-framework子產品,有比較多的疑點和問題,好在文檔是中文的,同時自己調試和測試比較多,慢慢摸透了,一些坑也解決了。

項目邏輯:

  1. 使用者開卡(注冊)、使用者登入
  2. 挂号 - 添加挂号記錄
  3. 選擇就診科室
  4. 服務端将自動随機安排一個就診時間,一般在5~10秒後。
  5. 頁面開始倒計時,倒計時結束,服務端随機為該記錄添加醫生和醫囑,完成就診。
  6. 自動重新整理頁面,點選就診記錄,檢視就診醫生和醫囑等資訊。
  7. 銷卡[可選],即删除賬号,但不完全删除,仍存在資料庫,無法登入。

項目截圖:

Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]
Python大作業之就診卡管理資訊系統[原創]Python大作業之就診卡管理資訊系統[原創]