2020-11-28 工作內容
完成使用者驗證碼
1.圖形驗證碼
- 前端邏輯 :Vue處理驗證碼與使用者互動的邏輯,並生成UUID 標識唯一驗證碼
- 後端邏輯 :生成,儲存(從前端接收UUID並存入Redis資料庫),響應驗證碼圖片
- 設計生成驗證碼介面,重點返回image/jpg型別資料
2.簡訊驗證碼
- 前端邏輯:Vue處理與使用者互動,避免頻繁傳送簡訊(使用有效期的標記),並初步校驗驗證碼
- 後端邏輯:進行圖片驗證碼校驗,透過則生成,併傳送驗證碼(驗證碼儲存Redis資料庫),註冊時校驗使用者輸入驗證碼,並避免頻繁傳送簡訊(使用有效期的標記)
- 使用第三方來傳送驗證碼:容聯雲平臺,閱讀技術文件,並使用
使用容聯雲SDK時候,記得封裝單例,減少記憶體的消耗
- 在昨天註冊檢視類類,補充邏輯,驗證簡訊驗證碼
- 使用pipeline 減少與Redis資料庫的互動,效能最佳化
3.非同步方案
- 目的:為了解耦業務邏輯,讓兩個業務沒有直接聯絡,保證主邏輯的通暢,因為使用第三方傳送簡訊,會有輕微阻塞。
- 方案:使用生產者消費者模型,使用成熟模組celery,完成生產者,消費者,Redis作為訊息佇列。
總結
- 對於專案中的一些固定數字,固定字串,最好弄個集合,比如py檔案,放進去,以免後期修改時候,直接修改原始碼。比如Redis設定過期時間的引數,就可以放進一個集合裡,並從裡面呼叫就好了
- Redis 客戶端向伺服器傳送一次請求,得到一次響應,期間socket會阻塞等待接收,因此只有兩個請求的話,第一個請求沒返回回來,第二個請求也不會執行,因為第一個在等待,因此,需要使用pipelin來傳遞兩個請求
- celery連線資料庫錯誤,keyerror,資料庫連線錯誤,自己查了半天,各種看原始碼,原來是配置檔案時候,多打了個冒號,幹。
本作品採用《CC 協議》,轉載必須註明作者和本文連結