天天看點

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

Fit項目停滞了一段時間,現在繼續吧。上一篇完成了動作文本和配圖的添加、編輯等内容。接下來要完成的是背景的最後一個子產品:系統資訊;以及前台的入口:關于注冊、登入、修改密碼等。

一 系統資訊

a) 使用者資訊

使用者資訊界面可以檢視前台使用者的注冊、使用情況。

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

b) 操作記錄

對背景管理者進行的操作做了記錄,然後可以在該界面檢視。

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

記錄的是對各個菜單的增删改查操作,在權限管理AuthorizaFilter中判斷權限的同時記錄操作内容。是以記錄的内容便直接使用權限的名稱了。

二 前台登入

a) 注冊

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

注冊需要提供的資訊有使用者名和郵箱,後續使用郵箱作為登入賬号,并會通過郵件來進行驗證操作(沒有短信驗證)。這個表單被送出時,會首先判斷郵件是否已經被注冊,注冊成功後,還需要激活,點選注冊郵箱收到的激活連結,會根據ID和激活碼來嘗試激活。

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

localhost,哄着自己玩哈哈。但激活域名儲存在資料庫,以後可以友善地修改。

這塊還遇到個關于AutoFac的奇怪問題,IUserService本來用得好好地,但添加了幾個方法後突然無法解析了,找了半天原因未果後,為UserController單獨配置了一個解析規則,然後就好了,之後把單獨的規則去掉,IUserService又能正常解析了,不知道這是什麼原因。

b) 忘記密碼

忘記密碼時首先輸入郵箱,驗證郵箱是否注冊過,如果時則發送一份包含驗證碼的确認郵件。

MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口
MVC與單元測試實踐之健身網站(五)-系統資訊、前台入口

郵件驗證通過後,可以重置密碼。這裡還是要注意保證每個步驟之間的銜接,尤其要防止使用者跳過驗證直接通路重置密碼界面。

這兒還體會到一個關于return View()與return Redirect()的差別,return View()傳回的仍然是目前Action的視圖,沒有重定向,浏覽器位址欄顯示的仍然是目前的Action

另外還有關于TempData的使用,TempData隻能在第一次請求中讀取,然後在一次請求中可以多次使用。

c) 登入

登入的實作與背景的登入一緻,根據Email和密碼檢查,校驗方法的傳回值類型為long?,如果登入成功,則傳回對應的ID,否則傳回空。

這樣登入、注冊、修改密碼的閉環就形成了。