PrinceCRM Project 2
小王子客戶管理系統 第二彈
開始實作PrinceCRM,由於我的美工天份與peter一樣被埋沒了 ̶1̶8̶年,所以……還是乖乖地找一個版來套,透過Sketch將畫面轉換到Zeplin內,作為樣搞參考。其中的背景圖片,也是採用Sketch來做匯出的動作,並且十分貼心的有1x, 2x, 3x三個檔案。
1. 因為DB放在docker內首先透過寫好的Shell來啟動資料庫
#!/bin/bash# 啟動Docker Container => Linux MS-SQL 939XXXX為Id
docker container start 939XXXX
2. 由於不知道MAC上用哪一套管理MS-SQL比較方便,所以這邊先使用SSMS來幫忙,有需要資料表的朋友,可以在GitHub專案內,找到建立資料表與會員資料的script。
3. 會員資料建立好之後,接者開始撰寫web api的登入方法,密碼的部分預計採用MD5來作加密,並利用Token來製作安全機制。由於之後我們要採用https的加密連線,所以我們要產生憑證檔,並放置到網站的根目錄。
openssl req -new -x509 -newkey rsa:2048 -keyout localhost.key -out localhost.cer -days 365 -subj /CN=localhost openssl pkcs12 -export -out certificate.pfx -inkey localhost.key -in localhost.cer同時要在本地端加入憑證檔(傳送門),並同時修改信任設定(傳送門)為信任所有。
4. 接者開始設計iOS App的UI以及程式,今天要製作的是登入畫面,首先輸入帳號密碼,如果帳號或密碼錯誤的話,會使用UIAlertController來show出一個錯誤的警告視窗,同時,我們將這個方法獨立到另外一個func來reuse。
5. 如果帳號密碼正確,在登入成功後,透過present()方法,來做場景轉場的效果,並將值傳到第二個頁面的property內,以供之後使用。這邊要注意的地方,由於我們的轉換方法寫在uploadTask的Closure內,所以呼叫的時候,要使用主執行緒來完成,不然就會報錯。
完成圖:



操作流程:

小技巧筆記:
- 如果是在背景執行序作業的方法,要修改畫面上的UI,一定要透過主執行緒的方法來完成,不然會錯誤。
GitHub:
參考資料:
1. 搭配 Sketch 和 Zeplin ,以 Auto Layout 製作 iOS App 畫面
2. 如何將 Sketch 的 App 畫面加入 Zeplin 專案
3. 如何用 sketch 切圖,輸出 iOS App 需要的 1x, 2x, 3x 圖片
4. Apple開發者文件 URLSession

