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

一 功能描述

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

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

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

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

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

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

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

二 具体实现

a) 我的计划

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

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

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

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

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

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

  1. MVC与单元测试实践之健身网站(一)-项目概述

    前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容. 一 健身网站功能描述 ...

  2. MVC与单元测试实践之健身网站(完)-备案与部署

    主页-http://www.zhixin9001.cn/Home/Introduce GitHub- https://github.com/zhixin9001/Fitness 这是关于Fit网站的最 ...

  3. MVC与单元测试实践之健身网站(四)-动作管理

    网站后台负责进行动作的管理,包括动作名称.介绍.训练要点.配图等内容,以便前台能够使用这些内容.在上一篇< Fit项目图片上传和云存储的调通>中已经准备好了这里涉及到的主要技术难点,现在就 ...

  4. MVC与单元测试实践之健身网站(二)-管理员模块

    开始动手做这个项目时,发现无法做到完全的先设计.再编码,于是决定分模块进行,从管理员模块开始设计.编码,而且接口就已经改了好几次了. 管理员模块涉及的功能有登录和后台对管理员的维护,其中也涉及前端的开 ...

  5. MVC与单元测试实践之健身网站(八)-统计分析

    ​统计分析模块与之前的内容相对独立,用于记录并跟踪各部位围度的变化.还需提供对所作计划的分析,辅助使计划更合理. 一 围度记录 这儿可以记录各项身体围度指标,现在包括体重在内身体上上下下基本全部提供了 ...

  6. MVC与单元测试实践之健身网站(七)-日程与打卡

    上一篇完成了计划的制定,然后需要把计划转换为日程,在日历视图上直观地显示,与日程相对应的还有完成日程内容后的打卡动作. 一 日程视图 a) 要把循环的计划铺开成为日程,日程的显示用日历视图是最合适的. ...

  7. MVC与单元测试实践之健身网站(七)-添加计划

    ​计划的制定涉及到周期-动作包-动作的关联操作,在上一篇<计划的添加与重置>完成了周期的设置.动作包的添加,现在要完成的是动作的添加操作. 一 具体功能 a) 在选定了一个大周期具有的天数 ...

  8. MVC与单元测试实践之健身网站(五)-系统信息、前台入口

    Fit项目停滞了一段时间,现在继续吧.上一篇完成了动作文本和配图的添加.编辑等内容.接下来要完成的是后台的最后一个模块:系统信息:以及前台的入口:关于注册.登录.修改密码等. 一 系统信息 a) 用户 ...

  9. MVC与单元测试实践之健身网站(三)-角色与权限

    管理员的维护功能完成后,还有权限和角色,三者构成权限系统.这里采用的RBAC是最经典.最简单的一种,权限-角色-管理员只能层层传递,并不能直接为管理员分配权限. 一 权限.角色管理 a) 权限 之前编 ...

随机推荐

  1. typescript handbook 学习笔记2

    概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...

  2. React.js 三周 -- 入门到搭建团队基础项目

    吐槽 公司自己的产品,由于历史遗留问题,前端一直是和java放到一个项目里写的. 导致了,前端就被死死的绑在了IDEA战车上.想要看页面效果,先起几个java服务.想要调试一个改动,重启个java服务 ...

  3. Redis简明教程

    redis是什么: Redis is an open source, BSD licensed, advanced key-value store. It is often referred to a ...

  4. IOS 整体框架类图值得收藏

    Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助. 1.Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境. 是什么因素使一个程序成为Co ...

  5. 《JavaScript高级教程》学习笔记一、变量和数据类型

    JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的. 一.变量和数据类型 1. 变量 JavaSript是弱类型语言,可以通过var定义任何类型变 ...

  6. 微信开放平台创建android应用时怎么获取应用签名

    之前微信开放平台中申请创建应用,没有整理,过了好久,又重新百度,今天索性整理了,以供童鞋们备用. 1.微信开发平台注册申请成开发者账号,就此略过 2.在管理中心选择创建移动应用.按照严格要求填写.上传 ...

  7. 杜绝假死,Tomcat容器做到自我保护,设置最大连接数(服务限流:tomcat请求数限制)

    为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器.达到保护自己的同时起到连接数负载均衡的作用. 一.解决方案:修改to ...

  8. pycharm专业版破解

    网上找的用license server破解的地址都不可用== 有个方法倒是靠谱的,记录一下: 1.将C:\Windows\System32\drivers\etc里面的hosts文件打开,然后在文件中 ...

  9. python 浅析格式化输出和深浅copy

    一,格式化输出 今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下: 格式是 :百分号+占位符 主要有三种使用形式:%s  (其中s表示string)表示字符串 %d  (其中d表 ...

  10. 深入学习卷积神经网络(CNN)的原理知识

    网上关于卷积神经网络的相关知识以及数不胜数,所以本文在学习了前人的博客和知乎,在别人博客的基础上整理的知识点,便于自己理解,以后复习也可以常看看,但是如果侵犯到哪位大神的权利,请联系小编,谢谢.好了下 ...