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

一 列表介绍

健身管理模块包括肌群、肌肉的显示以及动作的管理。这儿也算是开始涉及“业务内容”了,还好我之前有储备了一些关于健身的资料,现在是时候派上另一种用场了。

a) 肌群和肌肉因为内容相对固定,所以为了减少业务逻辑以及单元测试的代码量,当然最主要是为了偷懒,就只提供列表的显示功能,无法编辑。

肌群信息列表:

肌肉信息列表

b) 动作不像肌群和肌肉那样固定,必须有编辑功能,列表的显示、添加、编辑、删除的相应与之前权限模块类似。主要是添加、编辑界面差异较大。

二 动作的添加、编辑

动作的添加、编辑除了文本内容,还有相关的配图需要上传、删除。文本和图片分开两张表保存,而且文本在点击保存按钮时提交,图片则在选择后立即上传并刷新以显示最新的图片列表,点击图片时能即时地删除图片。这样界面背后的html结构就比之前的添加、编辑复杂了。

a) 整体来说,动作分为两类,局部训练与综合训练,局部训练是能归属于肌群-肌肉-动作体系下的训练内容,是对局部某块肌肉的训练,比如平板支撑动作主要是对腹横肌的锻炼;综合训练是指能提高整体机能的运动类型,比如跑步、游泳等。

所以添加、编辑动作时,首先设定的便是动作类型:

选择局部训练时,需要进一步选择肌群和肌肉,肌群是固定下拉内容,肌肉的下拉内容要随肌群的选择动态加载。

选择综合训练时,不需设置肌群和肌肉,隐藏这两个下拉框。

b) 此页面还包括动作介绍、动作要点和注意事项的编辑,这三项信息具有一致的编辑界面,包括了多行文本内容和配图。没有使用富文本编辑器,但刚刚写文章时才想起来要增加对跨站脚本攻击的防范呢。

三 总结

虽然之前已经准备好了图片上传和云存储的实现方式,但实际做起来才发现坑远远不止这些,包括页面布局和事件触发等花费了不少时间,主要是自己不熟悉前端的原因。有几个比较特别的问题需要记录一下。

a) 使用的模板中复选框、单选框都是使用了iCheck插件的,之前还说样式漂亮,但今天就被iCheck坑了。

iCheck的漂亮样式主要来自上面这段属性设置代码。然后如果要注册单选框的选择事件,用一般的ID、名称选择器就不管用了。要使用下面这样的方式,绑定ifChecked事件。

b) 浏览器加载页面时是从上往下的,如果$(document).ready写在jQuery.js引用的前面,这样的代码就是无效的。在razor模板中也要注意,layout中用于填充页面脚本的FootScript标签要放在js引用的下方。

欢迎关注微信公众号【菜鸟程序员成长记】

MVC与单元测试实践之健身网站(四)-动作管理的更多相关文章

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

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

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

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

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

    健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. python --第三方登录--微博

    理解第三方登录的流程: 用户向本地应用商城发起请求,我要用微博进行登录 我们的商城凑一个url让用户跳转到第三方应用的url(微博的登录页面) 用户在该界面点击输入用户名密码之后,点击授权. 微博有个 ...

  2. Nginx+apache/Tomcat实现反向代理与动静分离

    其实本人比较喜欢nginx跑静态和做负载反向代理,动态php还是交给apache处理比较稳定,jsp就交给tomcat.resin或jboss.nginx跑静态的能力是无与伦比的,是目前web服务器里 ...

  3. localStorage的存储、获取、删除操作

    var store={ // 保存 save:function(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, // 获 ...

  4. PCA降维实验代码

    实验需要提取数据的空间信息,所以要对光谱进行降维,使用主成分分析算法,样例代码备份如下 # -*- coding: utf-8 -*- """ Created on Mo ...

  5. spring cloud(服务消费者(利用feign实现服务消费及负载均衡)——初学三)

    Feign是一个声明式的Web Service客户端,我们只需要使用Feign来创建一个接口并用注解来配置它既可完成. 它具备可插拔的注解支持,包括Feign注解和JAX-RS注解.Feign也支持可 ...

  6. Fork/Join框架

    java 5开始引入了Executor和ExecutorService接口以及实现这两个接口的类之后,使得java在并发支持上得到了进一步的提升.执行器框架(Executor Framework)将任 ...

  7. 【OSX】build AOSP 2.3.7时的build error解决

    原始的error log: ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VE ...

  8. 新电脑一般javaweb配置

    下个jdk (官网)1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Jav ...

  9. MongoDB调优-查询优化-MongoDB Profiler

    MongoDB查询优化-MongoDB Profiler MongoDB Profiler 概述 官方文档:https://docs.mongodb.com/manual/tutorial/manag ...

  10. 目标检测模型的性能评估--MAP(Mean Average Precision)

    目标检测模型中性能评估的几个重要参数有精确度,精确度和召回率.本文中我们将讨论一个常用的度量指标:均值平均精度,即MAP. 在二元分类中,精确度和召回率是一个简单直观的统计量,但是在目标检测中有所不同 ...