一. 客户端开发
开发环境:客户端UI是基于HarmonyOS进行开发的,所以IDE使用的是华为的DevEco-Studio。
语言:采用的编程语言是JavaScript,基于JS扩展的类Web开发范式的方舟开发框架。
核心功能:
- 用户的虚拟形象陪伴用户一起做运动;
- 每日运动目标(运动时间、消耗卡路里);
- 运动中时间、心率、消耗卡路里的记录;
- 完成运动获取爱心奖励(可用于在慈善活动中捐献);
- 合作:与好友一起运动,共同达成目标,获取奖励;
- 挑战、徽章:完成运动挑战,获取徽章或其他奖励;
1. 创建项目(Create Project)
2. 项目结构
(1)各功能模块页面存放在pages文件夹中,每个页面都由.hml、.css、.js三个同名文件组成;
(2)图片资源存放在common/images文件夹中;
3. 功能模块介绍
3.1 登录页 login
用户输入账 密码,点击登录按钮进行登录。
(1)登录失败:提示“用户名或密码错误”。
(2)登录成功:跳转到首页 index。
3.2 首页 index
首页外圈黄色进度条是用户今日的运动时间进度。
首页中间由一个三页的Swiper组成,滑动可以切换页面:最左侧的运动页、最中间的目标页、最右侧的活动页。
(1)目标页:从上到下依次是用户虚拟形象、时钟(当前时间)、用户今日运动消耗的卡路里进度(目前已消耗卡路里/目标消耗卡路里)。
(2)运动页:最上方是开始运动按钮,点击可以选择要做的运动类型 [跳转到 choosesport ] 之后开始记录此次运动。按钮下方是最近的五条运动记录列表,可以上下滑动查看。
(3)活动页:最上方是用户当前参与合作的进度(若用户当前没参加任何合作,则该处显示的是开始合作按钮,点击开始合作按钮可以选择合作目标 [跳转到 chooseteamgoal ] 和要合作的好友,开启一次合作)。中间是系统最新发起的挑战,包括挑战名称、挑战描述。最下方是用户最近获得的八枚徽章列表,可以左右滑动查看。
3.3 选择运动类型页 choosesport
在首页的运动页点击开始运动后,进入选择运动类型页,该页主要由一个picker组成,用户选择自己要做的运动类型,点击确定即可开始运动,跳转到运动中页 sporting。
3.4 运动中页 sporting
运动中页显示用户虚拟角色、运动时长、消耗卡路里、当前心率。下方三个按钮分别为“取消”(点击后跳转回首页 index,不记录此次运动)、”暂停“(暂停运动时长记录和卡路里记录)、”完成“(完成此次运动,点击后跳转到运动结束页 sportend,记录此次运动)。
3.5 运动结束页 sportend
显示此次运动的时间、消耗的卡路里,点击确定按钮跳转到首页 index。
3.6 选择合作目标页 chooseteamgoal
在首页的活动页点击开始合作后,进入选择合作目标页,该页主要由一个双列picker组成,用户选择目标的运动类型和目标的运动时间,点击下一步,跳转到选择合作好友页 chooseteam。
3.7 选择合作好友页 chooseteam
该页主要由一个picker组成,用户选择想要与之合作的好友,点击确定,跳转到首页 index的合作页,此时已经开始了与此好友的合作。
3. 源码
二. 服务器端开发
开发环境:服务器端API接口是基于Node.js进行开发的,IDE使用的是VSCode。
语言:采用的编程语言是JavaScript,服务器框架是Koa,数据库是MongoDB。
核心接口:
- 用户接口:登录注册、用户个人信息的增删改查、用户好友的增删查;
- 运动接口:运动类型的增删改查、用户运动记录的增删查;
- 合作接口:用户合作记录的增删改查;
- 徽章接口:徽章类型的增删改查、用户获得徽章记录的增删查;
- 挑战接口:挑战类型的增删改查、用户挑战记录的增删查;
- 慈善接口:慈善活动的增删改查、用户参与慈善捐赠记录的增删查;
1. 创建项目(Create Project)
2. 项目结构
采用MVC设计模式划分各模块:models、controllers、routers
3. 数据库表
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!