基于鸿蒙开发的下肢痊愈外骨骼系统
名目引见
咱们的名目是由配件和软件两局部组成。配件由下肢痊愈外骨骼对患者启动痊愈训练。软件局部为鸿蒙APP依据评价患者的结果启动推送,推送的痊愈举措视频指点患者对痊愈举措启动及时的纠正和改善,从而使患者的痊愈效率获取提高。在训练完结后,会对其训练环节中的数据启动整顿剖析,发送到咱们数据展现页面中,能够将患者间断性护理的状况,如平衡才干的优化,走路稳固性的优化,病情在日周月的变动趋向,让患者看到自己病情的变换状况,对脑卒中偏瘫的再次复动员到预防作用。
DevEco Studio版本:DevEco Studio 3.1 Release
HarmonyOS SDK版本:3.1.0(API version9)
DAYU200.4.0.10.16
关键开发性能
Text("注册账号").fontSize(50).fontWeight(FontWeight.Bold).margin(20)TextInput({placeholder:'请输入你的手机号或许邮箱'}).placeholderColor("rgb(105,105,105)").placeholderFont({size:20,weight:120,family:'cursive'}).height(50).width('80%').fontSize(30).fontWeight(FontWeight.Bold).margin({top:30})TextInput({placeholder:'请输入你的明码'}).type(InputType.Password).placeholderColor("rgb(105,105,105)").placeholderFont({size:20,weight:120,family:'cursive'}).height(50).width('80%').fontSize(30).fontWeight(FontWeight.Bold).margin({top:30})TextInput({placeholder:'请再次确定你的明码'}).type(InputType.Password).placeholderColor("rgb(105,105,105)").placeholderFont({size:20,weight:120,family:'cursive'}).height(50).width('80%').fontSize(30).fontWeight(FontWeight.Bold).margin({top:30})Button("确定注册").height(50).width(180).backgroundColor("#66CDCA").margin({top:40}).onClick(() => {AlertDialog.show({title: '注册账号',message: '账号注册成功',confirm: {value: '确定',action: () => {console.info('经过')}},cancel: () => {console.info('完结')}})})Button("前往登录").height(50).width(180).backgroundColor("#66CDCA").margin({top:40}).onClick(()=>{router.pushUrl({url:'pages/login',})})
Image("/common/images/logo.jpg").width(100).height(100)Column({ space: 5 }) {Text("下肢痊愈系统").fontSize(45)Text("登录账号以经常使用更多服务").fontSize(20).opacity(0.5)}TextInput({ placeholder: "请输入账号",text:this.username }).height(50).width("85%")if(this.username_rag.test(this.username)){Text("用户名至少输入五位").fontSize(12).fontWeight(700).fontColor("#ff0000").width("80%")}TextInput({ placeholder: "请输入明码", text: this.password }).type(InputType.Password).height(50).width("85%")Row() {Button("短信验证码登录").width(180).height(30).backgroundColor("#ffffff").fontColor("#0d110e")Button("遗记明码").width(150).height(30).backgroundColor("#ffffff").fontColor("#0d110e")}.justifyContent(FlexAlign.SpaceBetween).width("100%")Button("登录").width(180).height(50).backgroundColor("#66CDCA").onClick(()=>{router.pushUrl({url:'pages/my'})})Button("注册账号").width(180).height(50).backgroundColor("#66CDCA").onClick(()=>{router.pushUrl({url:'pages/register'})})Row({ space: 50 }) {Column({space:5}) {Button("QQ").width(60).height(60).backgroundColor("#66CDCA").fontSize(10)Text('QQ登录').fontSize(15)}Column({space:5}) {Button("微信").width(60).height(60).backgroundColor("#66CDCA").fontSize(10)Text('微信登录').fontSize(15)}Column({space:5}) {Button("微博").width(60).height(60).backgroundColor("#66CDCA").fontSize(10)Text('微博登录').fontSize(15)}}
Checkbox({name: 'checkbox2'}).select(false).selectedColor('#66CDCA')Text("请赞同《服务条款》《隐衷政策》《儿童隐衷政策》").fontSize(15).fontColor("rgb(105,105,105)")
经常使用了一个条件判别,依据usernam_rag正则表白式验证用户名格局,假设用户名输入少于五位就会产生揭示如上图。
private username_rag = /^[A-Za-z0-9]{5,8}$/;if(this.username_rag.test(this.username)){Text("用户名至少输入五位").fontSize(12).fontWeight(700).fontColor("#ff0000").width("80%")}
在评价页面,经常使用了轮播图组件,用于展现评价不同方面的问卷,并且经过ForEach方法遍历imageSrc数组。在成功的环节中,定义了一个ImageData的类,并且在结构initializeImageData的函数中,对这个类的三个属性:ID(图片的示意),img(图片资源)和name(图片称号),启动赋值。而且还定义了两个私有属性,imgSrc:用于贮存数据数组,swiperController:用于控制轮播性能。
export class ImageData {id: stringimg: Resourcename: stringconstructor(id: string, img: Resource, name: string) {this.id = id // 图片惟一示意this.img = img // 图片资源this.name = name // 图片称号}}export function initializeImageData(): Array<ImageData> {let imageDataArray: Array<ImageData> = [{ "id": "0", "img": $r('app.media.hunmi'), "name": '格拉斯哥昏厥量表' },{ "id": "1", "img": $r('app.media.huodong'), "name": '卒中病人静止才干评价表' },{ "id": "2", "img": $r('app.media.chifan'), "name": '日常生存优惠能立量表' },{"id":"3","img":$r('app.media.pingheng'), "name":'Berg平衡才干量表'}]return imageDataArray}@Entry@Componentstruct Index {private imageSrc: ImageData[] = initializeImageData()private swiperController: SwiperController = new SwiperController()build() {Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {Text("脑卒中评价量表").fontSize(60).fontWeight(800).margin(10)Swiper(this.swiperController) {ForEach(this.imageSrc, item => {Image(item.img)}, item => item.name)}.height("60%").width("100%").margin({ top: 0 })Row({ space: 60 }) {Button('showNext').height(60).width(180).onClick(() => {this.swiperController.showNext()})Button('showPrevious').height(60).width(180).onClick(() => {this.swiperController.showPrevious()})}.margin({top:10})Text("好受揭示:" +"评价分数仅供参考,以病人的实践状况为例").fontColor("#ff0000").margin({top:10})}.margin(30)}}
经过onClick触发点击图片。入评价问卷界面,经过对页面疑问的回答来判别患者详细的身材状况。
Swiper(this.swiperController) {Image($r('app.media.pingheng')).width('85%').height().onClick(()=>{router.push({url:'pages/pinggu1',params:{aa:'333'}})})Image($r('app.media.huodong')).width('85%').height().onClick(()=>{router.push({url:'pages/pinggu2',params:{aa:'444'}})})Image($r('app.media.chifan')).width('85%').height().onClick(()=>{router.push({url:'pages/pinggu3',params:{aa:'555'}})})Image($r('app.media.hunmi')).width('85%').height().onClick(()=>{router.push({url:'pages/pinggu4',params:{aa:'666'}})})/}
Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)Video({src: $r('app.media.stage21'),previewUri: this.previewUris, // 视频封面currentProgressRate: this.currentProgressRate, // 视频播放倍速controller: this.controller,}).muted(this.muted) // 能否静音.autoPlay(this.autoPlay) // 能否智能播放.controls(this.controls) // 控制视频播放的控制栏能否显示.objectFit(ImageFit.Contain) // 视频显示形式.loop(this.loop) // 能否单个视频循环播放.height("60%").onStart(() => {// 播放时触发该事情console.info('onStart');}).onPause(() => {// 暂停时触发该事情console.info('onPause');}).onFinish(() => {console.info('onFinish');}).onError(() => {// 播放失败时触发该事情console.error('onError');}).onFullscreenChange((e) => {console.info('视频进入和分开全屏时触发该事情:' + e.fullscreen)}).onPrepared((e) => {console.info('视频预备成功时触发该事情:' + e.duration)}).onSeeking((e) => {console.info('操作进展条环节时上报期间消息:' + e.time)}).onSeeked((e) => {console.info('操作进展条成功后,上报播放期间消息:' + e.time)}).onUpdate((e) => {console.info('播放进展变动时触发该事情:' + e.time)}).height("30%")Row({}) {Flex({ wrap: FlexWrap.Wrap, justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) {Button("开局训练").height(40).width(180).onClick(() => {this.controller.start()}).margin(8)Button("完结训练").height(40).width(180).onClick(() => {this.controller.pause()})}}
展望
作为一个初学者,当我感到困惑时,鸿蒙官网为咱们提供了一个学习和展现的平台,这让我感到十分振奋。
这个平台为咱们指明了行进的方向,让咱们能够谋求更深档次的常识。我等候着未来能够追随官网文档启动更深化的学习,以便开收回更多性能丰盛的鸿蒙运行程序。与此同时,我也等候着随着咱们的开发技艺始终优化,咱们的少数据融合能够与鸿蒙的多设施融合协同上班,为痊愈畛域和科技翻新做出更大的奉献。
我宿愿咱们的致力能够协助更多的脑卒中患者,让他们早日痊愈,为他们提供更多的协助。