1. 程式人生 > >MVC與單元測試實踐之健身網站(六)-計劃的添加與重置

MVC與單元測試實踐之健身網站(六)-計劃的添加與重置

兼容 跳轉 需要 以及 str 額外 休息 保存 bsp

健身計劃需要使用者自己定制,沒有現成的內容可供選擇。本篇就是關於健身計劃的添加與重置功能的一部分。

一 功能描述

a) 關於計劃的定制,決定以周期的方式,比如有人會以一周為周期,然後安排每周的1、3、5進行鍛煉。系統將以以這種模式為典型來實現,首先需要設定一個周期循環的天數,然後為其中的某些天安排特定的鍛煉內容,剩下沒有安排的天數為休息時間。

為某一天安排具體的鍛煉內容時,數據來自通過後臺添加的訓練項目,這塊的功能之前已經完成。因為訓練項目分成了兩類,一類是對局部肌肉的鍛煉,另一類是全身性的綜合鍛煉如跑步、遊泳等,制定計劃時也需要區分這兩套不同的內容。

對於局部肌肉鍛煉,計劃中會指定所用器械的重量、動作組數、每組次數、每組休息時間等,器械的重量單位為kg;而對於綜合訓練,又是另一種設定方式,如跑步5公裏、遊泳半小時、跳繩250次等,訓練量的單位變化不定。這些在設計數據表結構時要考慮到。

b) 關於表結構,訓練項目相關的表之前在後臺的動作管理模塊做好了,采用肌群-肌肉-動作的層級結構,同時兼容了綜合鍛煉,這些訓練項目保存在動作表,但沒有設置與肌肉表的關聯,這也是局部訓練內容與綜合訓練內容唯一的區分方式。

每項訓練的單位不同,尤其是綜合訓練,涉及到公裏、分鐘、次數等等,所以要為動作表增加“單位”,後臺添加動作時為每項內容單獨指定單位。

一天會從動作表選擇多個動作進行鍛煉,這些內容統一保存在一張表,同時這張表還保存了運動量等信息,這些可作為一個個的動作包(增加了額外屬性的動作)。

最後,對於一個周期內哪天進行哪個動作包、哪天休息,這些信息保存在計劃表,計劃表擁有對用戶以及對動作包的關聯。

二 具體實現

a) 我的計劃

如果之前已經制定好了計劃,則直接顯示,顯示條目只有第幾天和當天是鍛煉還是休息,如果是鍛煉,會大概顯示鍛煉的內容。

技術分享

b) 如果用戶第一次點擊我的計劃,會跳轉到定制計劃頁面,該頁面要求提供循環天數。點擊定制計劃或在我的計劃頁面點擊重置也會打開這個頁面。

技術分享

?

c) 在我的計劃頁面的某一天點擊當天計劃,可以設置當天要訓練的內容,可選擇多項。對於綜合訓練,會提示**公裏、**分鐘等,對於局部訓練則會提示*組,每組*次,如果是負重訓練,還會提示負荷,數據表不是這樣保存的,需要格式化,因為沒有BLL層,格式化的邏輯就寫在了Service層。

技術分享

後面還需完成動作包的添加、刪除等內容。

也不知道這樣的方式用起來怎麽樣,估計不容樂觀,沒有工程師的思維、也沒有5秒變小白的本事,只能按著自己的想法做了。

MVC與單元測試實踐之健身網站(六)-計劃的添加與重置