健康先行微信小程序设计与实现
1 绪论
随着物质文明的快速发展,全社会开始越来越关注自身健康。在慢性病、肿瘤、传染病等疾病高发的当前社会环境下,健康一度成为了个体自身的最大财富和核心竞争力,也是全社会关注的焦点。政府部门制订和实施医疗体制改革方案,医疗机构持续提升医疗水平,全社会都在为人类自身的健康而努力。随着医疗水平的不断提升和人类对自身健康的日趋重视,“健康管理”已经成为当前社会关于疾病预防和治疗,以及健康干预的代名词。健康服务的模式正在经历从过去的“先得病后治疗为主、健康体检为辅”的模式逐步转变为“疾病早筛和预防、早发现早治疗、保健养生”的模式,传统的被动式的“医院看病”业务流程已经转变为新的主动式的“健康服务”业务流程,随之而来的是医疗服务的工作流程、管理模式、资源分配的重组、优化、整合和创新。
在美国HMO健康管理模式的研究,刚开始是为了减少患者的医疗费用,降低患者的患病危险。经过三四十年的发展,美国的医疗经费仍然高居不下,但是大大提高了医疗水平,极大地降低了一件费用,取得了巨大的成功。美国的健康管理系统建立信息平台和记录个人档案等手段,在全球互联网时代深入发展的今天,美国公民可以在线问诊,查看医疗记录,远程治疗,在寻医问药等方面提供了极大的便利。在日本更是一个非常重视健康管理的国家,它早在于1988年政府就提出了全民健康计划。日本健康体检的模式也是社会体系完善、覆盖率高、立法明确、针对不同年龄、不同阶层进行各种各样的健康体检,几乎每个公民每年要进行一次健康体检。目前全球提倡的KYN健康管理,是指一种对个人或人群的健康危险因素进行全面管理的过程。KYN健康管理系统由三部分组成:个人健康信息管理系统、个人疾病危险性评价系统及个人健康改善及指导系统。
通过健身视频教程和图片教程是用户自主学习健身方法的重要途径。互联网上有数以万计的视频供人们学习,然而面对海量的信息资源,用户很难在短时间内获取符合自身需要的信息,即产生了信息过载问题。有价值的资源有很多,帮助用户找到符合自身需求的信息至关重要。所以本次设计结合推荐系统正是为解决这个问题而产生的。推荐系统可通过采集和分析用户的历史浏览数据,从大量视频中找到符合用户需求的视频,生成推荐列表返回给用户。
2 课题领域主流技术对比分析
从16年微信小程序内测的时候到如今,微信小程序用时间与实践证明了自己的变革与价值,微信小程序的规则也在开发社区的影响下变得更加完善。
对于第三方企业来讲,微信为自己带来了巨大的流量入口和低成本的拉新渠道,如滴滴、美团、京东等公司都推出了自己的小程序。像共享单车类的企业,微信是绝大多数用户的二维码扫码入口,小程序为其带来了巨大的流量入口,如摩拜单车。
对于小程序开发者来说,小程序的开发生态不断地在完善,从最开始的原生框架,到腾讯自己开发类vue规范的wepy,再到美团开发近vue写法的mpvue,再到最近O2实验室刚推出的遵循React规范的Taro。
所有到现在,有多种开发微信小程序的方式,主要有原生,wepy,mpvue,Taro,4种框架,对比分析也是在这4种方式中。
2.1框架对比与分析
面对4种开发方式,我们到底应该选择哪种呢?首先当然是对各种框架进行对比分析,从开发工具便利上,开发方式上,应用状态管理上,社区活跃程度上(开源UI库等)。
2.2 开发工具工程化上
开发工具上:都需要微信开发者工具来调式,对于写代码的话,尤其我们前端开发来讲,21世纪最有良心的编辑工具无疑是微软出品的vscode,代码高亮的话,都需要相应的配置,具体怎么配置,可以网上搜(或者看各个开发方式的官方文档)。
工程化上: 微信小程序本身对工程化几乎没有任何的支持,要原生框架支持工程化的话,需要自己动手搭建很多工程化上的东西-他人搭建的demo wxapp-redux-starter,wepy有自己的wepy-cli,而mpvue和taro则很好的支持我们熟悉的webpack灵活定制(像语法检查,热更新等等)
2.3开发方式上
原生开发:
我们需要全新学习小程序的抒写格式,目前版本模板中支持 slot,但是不支持 npm 包。原生不支持 css 预处理器,但是 vsCode 中 Easy WXLESS 插件可以将 less 文件自动转换为 wxss 文件;
wepy:
我们需要熟悉 vue 和 wepy 两种语法,支持 slot 组件内容分发插槽,支持 npm 包,支持 css 预处理器;
mpvue:
我们需要熟悉 vue ,目前版本(v1.0.13)不支持 slot ,支持 npm 包,支持 css 预处理器;
taro:
采用React语法标准,支持 JSX 书写,让代码更具表现性,Taro暂不支持直接渲染children。
对于mpvue和taro开发方式上,对vue和react语法的支持程度和差异上具体可以看各自的官方文档。
2.4应用状态管理上
原生开发:
没有提供原生的应用状态管理方式,但是可以将 redux or mobx 引入到项目中。
小程序原生提供了一种声明使用全局变量,具体写法可查看官网文件作用域。
wepy:
可以将 redux or mobx 引入到项目中。
mpvue:
可以直接使用 vuex 做应用状态管理,在用mpvue初始化时可以选择是否需要vuex.
taro:
支持redux,对于不那么大的应用也提供了全局变量的解决方式,redux引入和全局变量解决方式,具体可以查看官网-使用redux,官网-最佳实践。
2.5社区活跃程度上
原生开发:
微信提供了一个专门的社区供小程序开发者学习交流开发者社区。对UI库来说,原生小程序UI库还是蛮多的,例如官方的weui, 有赞的zanui-weapp,高颜值、好用、易扩展的微信小程序 UI 库。
其它3个框架:
对于wepy,mpvue,taro这种开源项目来说,想学习交流那肯定是在github的issue上啊,github上的star数和项目出现时间成正比,wepy : 12k多star, mpvue: 11k多star, taro: 6k多star,从趋势看,mpvue大有赶超wepy的趋势。
3 拟采用的技术路线及分析
3.1 Java语言
JAVA是一门面向对象编程语言,是由sun公司发布的开源的编程语言。java不仅吸收了c++语言的优点、摒弃了c++的不足、改进了c++的不足,还在c++的基础上增加了很多譬如反射、Lambda表达式和函数式接口等新技术。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
3.2 Navicat for MySQL工具
Navicat是香港卓软数码科技有限公司旗下生产的一种图形化的数据库管理软件,它支持当前多种主流的数据库,比如Oracle、MySQL、Microsoft SQL Server及MariaDB等。该软件适用于DBA和程序员,它能够支持多重连接本地和或者远程的数据库,操作十分方便。
所以本系统主要由微信小程序客户端、服务器、数据管理端构成,前端代码基于Layui,封装工具类,使用的是H-ui Admin。客户端的页面实现通过网络与服务器REST API接口通信获取 MySQL数据。本人重点参与网上购物系统客户端、服务器以及数据库的设计、开发、测试工作。在系统的设计与实现过程中,对客户端的代码进行全局的MVC模式设计控制,采用template模板增加代码的复用性,并创建客户端用户的token管理机制进行用户身份验证与权限分级。采用JavaWeb和SSM框架作为后台开发,HTML+JS+CSS和微信web开发工具作为前端开发。
4 总结
所以本次通过微信小程序发布大量关于各类健身运动的视频教程、文字教程、营养膳食搭配、食物热量值等资源供参考,能够帮助人们更合理的安排健身计划和饮食计划。智能手机、平板电脑等移动设备和移动互联网的普及使这些海量资源可以随时随地被获取,满足了人们对运动和饮食信息的即时性需求。同时,体重、移动设备为人们提供了方便的纪录工具,使用户可以随时随地纪录自己的运动时间、运动强度、热量摄取等相关数据。移动应用,可以实现对运动和饮食情况的量化管理,观的认识,从而制定出更加科学高效的计划。研究收集和分析这些数据的使人们对自身情况有更加客观的认识,从而制定出更加科学高效的计划。
参考文献
[1]朱敏, 尚鲜连, 刘洋,等. 基于微信小程序的健身服务平台的设计与实现[J]. 电脑知识与技术, 2020, v.16(10):73-74+76.
[2]刘敏, 魏小迪. 全民健身背景下南宁公共体育小程序的研究与实现[J]. 电脑知识与技术, 2020, v.16(06):73-75.
[3]张学敏. 基于微信小程序的体质健康管理系统设计与实现[J]. 电脑知识与技术, 2019(22).
[4]邱丽媛, 邵伟洁, 沈俊勇,等. 基于微信小程序的公共健身设施教学和管理系统的研究与开发[J]. 电子世界, 2019, No.581(23):84-85.
[5]刘存生. 基于微信小程序的社区群众健身信息服务系统[J]. 石家庄学院学报, 2018, 20(06):105-108.
[6]魏小迪, 刘敏. 南宁公共体育微信小程序的研究与设计[J]. 电脑知识与技术, 2020, v.16(04):54-55.
[7]钟育群、曾浩杰、庄灿林、欧威敬、杨文茵. 基于云开发的高效运动会管理小程序的设计与实现[J]. 数字技术与应用, 2020, v.38;No.364(10):111-113.
[8]巩雪霆. Kent用互联网支持每个人的健身梦想[J]. 健与美, 2019, 000(003):117-123.
[9]张蕊. "智慧体育"推动全民健身的研究[J]. 北京印刷学院学报, 2019, 027(012):76-78.
[10]罗章. 基于Kinect的青少年健身体感游戏设计与实现[D].2019
[11]潘宏伟, 黄中伟, 崔小良. 创新创业背景下大学生智能化健身管理系统研究[J]. 中国管理信息化, 2017(22):166-167.
[12]庄定欣, 胡能发. 个人健身管理系统的分析设计[J]. 电子世界, 2018, 000(004):177-178.
[13]田文涛. 网络化健身管理系统设计与实现[D]. 2016.
[14]牛新泉. 健身管理系统的设计与开发[D]. 2016.
[15]Mamontov S . Postgraduate "Management" program design for small and medium business managers[J]. SHS Web of Conferences, 2021, 97:01013.
[16]Jin Z , Wang J , Zhang S . Design and Implementation of WA Face Recognition System based on Small WeChat Program[C]// 2019 IEEE International Conference on Computer Science and Educational Informatization (CSEI). IEEE, 2019.