這次被教授急call回去,原來是有份專案的系統即將到第一階段展示時間,卻還沒有人手來幫忙處理Ios部分的系統建置,雖然時間上只剩短短一周,看似有些急迫,但幸好是API部分已經大致上完成了,所以補上與伺服器連結即可,這次確認到的需求是協助建置教學輔助系統的IOS使用者終端,而該終端所需要的功能如下:
- 登入註冊會員
- 選擇課程後,終端從伺服器獲取教學影片資訊列表,學生通過選擇章節後播放該節教學影片
- 檢查當前進行中考試,加入考試後,學生可以啟動相機,透過相機拍照答案卷後將其答案回傳至伺服器,提供老師批改。
這次整個系統需求包還到跨平台,所以為了能無痛轉換,整體系統以 client – server 架構來建置
,遵照RESTful風格,透過API與Json來與伺服器溝通,目的是在高內聚低耦合balabalabala~
咳咳!總之還是直接進系統看看吧
首先是登入畫面,這邊由於對方說是實驗室性質,通常有輸入資料都要使用驗證碼和加密步驟,驗證碼我通常都會使用reCAPTCHA,但這次的要求是快速產出與內網使用,使用者比較單純也比較能控制(敢亂來就當掉),所以這邊對方並不打算做這個步驟。
進入課程後,這邊會有所有進行中的課程,這邊使用 UITableViewController 搭配 Navigation Controller來做導航列,若要進入測試系統則可點取右上角按鈕進入,而點選列表中課程的Detail按鈕則能讀取該課程中所有的單元。
這邊我們先看課程部分系統,主要就是透過選項來進入小單元,進入小單元後,該畫面會透過URL來連結影片,這次該團隊是將影片放在YouTube,所以只要簡單的做個影片嵌入即可。
然後再來是進行考試的部分,與剛剛稍有不同的是必須使用到相機與http multipart request,雖然說是與剛剛不同,但也是非常常用的溝通,這邊有幾個需要注意的小地方,如像是相機要記得去設定開啟向使用者請求權限的要求、multipart 的溝通設定等,這邊我貼了個人曾經參考過的網站,希望對此有些幫助。
這邊主要也是跟上面的架構相同,從伺服器讀取相關資料後給學生選取,最後拍照回送答案至伺服器,下面圖示這所有流程。
那這就是這一次主要的結果,由於配合的時間濃縮約一周的工作日,包含協調、溝通、API文件交接等等,所以能做的事情並不多,但也算是難得的救火體驗,也把基本Demo內容做完了,預估在通過評估後,後面應該會再繼續維護與補強系統。
以下是這是系統的source code
【github.com】:https://github.com/Chunshan-Theta/IosAppForTeach
1 thought on “【IOS Swift 3】教學輔助系統 使用者終端建置”