首页 > 代码库 > MVC与单元测试实践之健身网站(六)-计划的添加与重置

MVC与单元测试实践之健身网站(六)-计划的添加与重置

健身计划需要使用者自己定制,没有现成的内容可供选择。本篇就是关于健身计划的添加与重置功能的一部分。

一 功能描述

a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1、3、5进行锻炼。系统将以以这种模式为典型来实现,首先需要设定一个周期循环的天数,然后为其中的某些天安排特定的锻炼内容,剩下没有安排的天数为休息时间。

为某一天安排具体的锻炼内容时,数据来自通过后台添加的训练项目,这块的功能之前已经完成。因为训练项目分成了两类,一类是对局部肌肉的锻炼,另一类是全身性的综合锻炼如跑步、游泳等,制定计划时也需要区分这两套不同的内容。

对于局部肌肉锻炼,计划中会指定所用器械的重量、动作组数、每组次数、每组休息时间等,器械的重量单位为kg;而对于综合训练,又是另一种设定方式,如跑步5公里、游泳半小时、跳绳250次等,训练量的单位变化不定。这些在设计数据表结构时要考虑到。

b) 关于表结构,训练项目相关的表之前在后台的动作管理模块做好了,采用肌群-肌肉-动作的层级结构,同时兼容了综合锻炼,这些训练项目保存在动作表,但没有设置与肌肉表的关联,这也是局部训练内容与综合训练内容唯一的区分方式。

每项训练的单位不同,尤其是综合训练,涉及到公里、分钟、次数等等,所以要为动作表增加“单位”,后台添加动作时为每项内容单独指定单位。

一天会从动作表选择多个动作进行锻炼,这些内容统一保存在一张表,同时这张表还保存了运动量等信息,这些可作为一个个的动作包(增加了额外属性的动作)。

最后,对于一个周期内哪天进行哪个动作包、哪天休息,这些信息保存在计划表,计划表拥有对用户以及对动作包的关联。

 

二 具体实现

a) 我的计划

如果之前已经制定好了计划,则直接显示,显示条目只有第几天和当天是锻炼还是休息,如果是锻炼,会大概显示锻炼的内容。

技术分享

b) 如果用户第一次点击我的计划,会跳转到定制计划页面,该页面要求提供循环天数。点击定制计划或在我的计划页面点击重置也会打开这个页面。

技术分享

c) 在我的计划页面的某一天点击当天计划,可以设置当天要训练的内容,可选择多项。对于综合训练,会提示**公里、**分钟等,对于局部训练则会提示*组,每组*次,如果是负重训练,还会提示负荷,数据表不是这样保存的,需要格式化,因为没有BLL层,格式化的逻辑就写在了Service层。

技术分享

 

后面还需完成动作包的添加、删除等内容。

也不知道这样的方式用起来怎么样,估计不容乐观,没有工程师的思维、也没有5秒变小白的本事,只能按着自己的想法做了。

 

 

MVC与单元测试实践之健身网站(六)-计划的添加与重置