使用 uniapp 开发标准体重计算小程序

引言

在现代生活中,健康管理越来越受到重视,而体重是衡量健康状况的重要指标之一。为了方便用户快速计算自己的标准体重并了解体重状态,我使用 uniapp 开发了一款简单的标准体重计算小程序。本文将详细介绍开发过程,并分享核心代码。

功能介绍

这款小程序的主要功能包括:

  1. 输入身高和体重:用户可以输入自己的身高(cm)和当前体重(kg)。

  2. 选择性别:用户可以选择性别,因为男性和女性的标准体重计算公式不同。

  3. 计算标准体重:根据世界卫生组织(WHO)的公式计算标准体重。

  4. 判断体重状态:根据当前体重与标准体重的差值,判断用户是偏瘦、正常还是偏胖。

  5. 输入校验:对用户输入的身高和体重进行有效性校验,避免不合理的数据。

技术栈

  • Uniapp:跨平台开发框架,支持一次开发,多端发布(微信小程序、H5、App 等)。

  • Vue.js:前端框架,用于构建用户界面和逻辑。

  • 微信开发者工具:用于调试和预览小程序。

开发步骤

1. 创建 Uniapp 项目

2. 编写页面代码

在 pages/index/index.vue 中编写主页面代码,包括输入框、选择器和计算逻辑。以下是核心代码:

<template><view class="container"><view class="input-group"><text>身高 (cm):</text><input v-model="height" type="number" placeholder="请输入身高" /></view><view class="input-group"><text>性别:</text><picker mode="selector" :range="genders" @change="onGenderChange"><view class="picker">{{ genders[genderIndex] }}</view></picker></view><view class="input-group"><text>当前体重 (kg):</text><input v-model="currentWeight" type="number" placeholder="请输入当前体重" /></view><button @click="calculateWeight">计算标准体重</button><view class="result" v-if="result !== null"><text>您的标准体重是: {{ result.standardWeight }} kg</text><text>您的体重状态: {{ result.status }}</text></view></view>
</template><script>
export default {data() {return {height: '', // 用户输入的身高currentWeight: '', // 用户输入的当前体重genders: ['男', '女'], // 性别选项genderIndex: 0, // 当前选中的性别索引result: null, // 计算结果};},methods: {// 性别选择器变化事件onGenderChange(e) {this.genderIndex = e.detail.value;},// 校验输入是否合理validateInput(height, weight) {if (height < 50 || height > 250) {uni.showToast({title: '身高应在 50cm 到 250cm 之间',icon: 'none',});return false;}if (weight < 10 || weight > 500) {uni.showToast({title: '体重应在 10kg 到 500kg 之间',icon: 'none',});return false;}return true;},// 计算标准体重并判断体重状态calculateWeight() {const height = parseFloat(this.height);const currentWeight = parseFloat(this.currentWeight);// 校验输入是否合理if (isNaN(height) || isNaN(currentWeight)) {uni.showToast({title: '请输入有效的数字',icon: 'none',});return;}if (!this.validateInput(height, currentWeight)) {return;}let standardWeight;if (this.genderIndex === 0) {// 男性standardWeight = (height - 80) * 0.7;} else {// 女性standardWeight = (height - 70) * 0.6;}// 计算体重差值const difference = currentWeight - standardWeight;let status;if (difference < -5) {status = '偏瘦';} else if (difference > 5) {status = '偏胖';} else {status = '正常';}this.result = {standardWeight: standardWeight.toFixed(2), // 保留两位小数status: status,};},},
};
</script>

3. 运行和调试

在 HBuilderX 中点击运行,选择微信开发者工具进行调试。确保代码无误后,可以在微信开发者工具中预览小程序。

4. 发布小程序

完成开发和测试后,按照微信小程序的发布流程,将代码上传至微信公众平台并提交审核。

总结

通过这个项目,我学习了如何使用 uniapp 快速开发跨平台小程序,并掌握了以下技能:

  • Uniapp 的基本用法和页面开发。

  • Vue.js 的数据绑定和事件处理。

  • 微信小程序的调试和发布流程。

这款小程序虽然简单,但功能实用,适合初学者练手。未来可以进一步扩展功能,例如:

  • 增加 BMI 计算。

  • 保存用户的历史记录。

  • 提供健康建议和饮食计划。

希望本文对大家有所帮助!如果你有任何问题或建议,欢迎在评论区留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用SSH命令安全连接并转发端口到远程服务器

ssh -p 22546 rootconnect.westc.gpuhub.com d6IS/mQKq/iG ssh -CNgv -L 6006:127.0.0.1:6006 rootconnect.westc.gpuhub.com -p 22546 第一条命令&#xff1a;用于登录远程服务器&#xff0c;进行交互式操作。第二条命令&#xff1a;用于建立 SSH 隧道&#xff0c;进行端口转…

File文件和目录

一、文件和目录相关概念 计算机文件&#xff08;File&#xff09;:以计算机硬盘为载体存储在计算机上的信息集合,可以是文本&#xff08;.txt&#xff09;、图片(.jpg、.png、.jpeg)、视频(.mp4)、程序(.exe)等&#xff0c;文件一般有拓展名&#xff0c;表示文件的类型。 文件…

Linux部署java项目

前言 Xshell下载地址 点击连接 常见命令 ls ls:显示当前目录下的文件 ll:可以显示隐藏文件和非隐藏文件与ls -l一样 ls -a -l这两个掌握就可以了 ls --help就可以知道这个后面可以跟什么 ls -al还可以这样 cd cd&#xff1a;进入文件夹 cd后面可以跟相对路径&#xff0…

如何使用 Python+Flask+win32print 实现简易网络打印服务1

Python 实现网络打印机&#xff1a;Flask win32print 在工作场景中&#xff0c;我们可能需要一个简单的网页接口&#xff0c;供他人上传文档并自动打印到指定打印机。 本文将演示如何使用 Python Flask win32print 库来实现这一需求。 代码详见&#xff1a;https://github.…

Java接口(3)与图书管理系统

抽象类与接口的区别 1.抽象类包含普通类和抽象方法&#xff0c;子类可以直接调用普通类方法不用重写。接口包含抽象方法和全局变量。 2.抽象类有各种权限&#xff0c;接口只有pubilc。 3.子类使用抽象类用extend&#xff0c;使用接口用implement。 4.一个抽象类可以实现若干…

基于Matlab的多目标粒子群优化

在复杂系统的设计、决策与优化问题中&#xff0c;常常需要同时兼顾多个相互冲突的目标&#xff0c;多目标粒子群优化&#xff08;MOPSO&#xff09;算法应运而生&#xff0c;作为群体智能优化算法家族中的重要成员&#xff0c;它为解决此类棘手难题提供了高效且富有创新性的解决…

Python 爬取唐诗宋词三百首

你可以使用 requests 和 BeautifulSoup 来爬取《唐诗三百首》和《宋词三百首》的数据。以下是一个基本的 Python 爬虫示例&#xff0c;它从 中华诗词网 或类似的网站获取数据并保存为 JSON 文件。 import requests from bs4 import BeautifulSoup import json import time# 爬取…

美股回测:历史高频分钟数据的分享下载与策略解析20250305

美股回测&#xff1a;历史高频分钟数据的分享下载与策略解析20250305 在金融分析和投资决策的精细化过程中&#xff0c;美股历史分钟高频数据发挥着至关重要的作用。这些数据以其详尽性和精确性&#xff0c;记录了股票每分钟的价格波动和成交量变化&#xff0c;为投资者提供了…

辛格迪客户案例 | 深圳善康医药科技GMP培训管理(TMS)项目

01 善康医药&#xff1a;创新药领域的探索者 深圳善康医药科技股份有限公司自2017年创立以来&#xff0c;便扎根于创新药研发领域&#xff0c;专注于成瘾治疗药物的研究、生产与销售。公司坐落于深圳&#xff0c;凭借自身独特的技术优势与研发实力&#xff0c;在行业内逐渐崭露…

【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)

背景&#xff1a; 已经用这个脚本的记得设置Wifi时候&#xff0c;关闭“自动登录” 前几天实在忍受不了CHD-WIFI动不动就断开&#xff0c;一天要重新连接&#xff0c;点登陆好几次。试了下在网上搜有没有CHD-WIFI的自动连接WIFI自动认证脚本&#xff0c;那样我就可以解放双手&…

Vue+el-upload配置minIO实现大文件的切片并发上传、上传进度展示、失败重试功能

vue3el-upload实现切片上传 效果图 初始界面 上传中的界面 上传完成的界面 上传失败的界面 <template><div><el-uploadclass"BigFileUpload"ref"uploadRef"action"#"drag:show-file-list"false":on-change"…

Kubespray部署企业级高可用K8S指南

目录 前言1 K8S集群节点准备1.1 主机列表1.2 kubespray节点python3及pip3准备1.2.1. 更新系统1.2.2. 安装依赖1.2.3. 下载Python 3.12源码1.2.4. 解压源码包1.2.5. 编译和安装Python1.2.6. 验证安装1.2.7. 设置Python 3.12为默认版本&#xff08;可选&#xff09;1.2.8. 安装pi…

无人机端部署 AI 模型,实现实时数据处理和决策

在无人机端部署 AI 模型&#xff0c;实现实时数据处理和决策&#xff0c;是提升无人机智能化水平的关键技术之一。通过将 AI 模型部署到无人机上&#xff0c;可以实现实时目标检测、路径规划、避障等功能。以下是实现这一目标的详细方案和代码示例。 一、实现方案 1. 硬件选择…

审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)

大家好&#xff0c;这次使用的是AntV的蚂蚁数据可视化X6框架&#xff0c;类似于审批流的场景等&#xff0c;代码如下&#xff1a; X6框架参考网址&#xff1a;https://x6.antv.vision/zh/examples/showcase/practices#bpmn 可以进入该网址&#xff0c;直接复制下方代码进行调试…

用于管理 Elasticsearch Serverless 项目的 AI Agent

作者&#xff1a;来自 Elastic Fram Souza 由自然语言驱动的 AI 代理&#xff0c;可轻松管理 Elasticsearch Serverless 项目 - 支持项目创建、删除和状态检查。 这个小型命令行工具让你可以用简单的英语管理你的无服务器 Elasticsearch 项目。它通过AI&#xff08;这里是 Ope…

通过计费集成和警报监控 Elasticsearch Service 成本

作者&#xff1a;来自 Elastic Alexis Charveriat 使用 Elasticsearch 服务计费集成来跟踪、定制和提醒 Elasticsearch 服务费用。 监控和管理你的Elasticsearch服务&#xff08;ESS&#xff09;使用情况和成本对高效运营至关重要。 Elasticsearch服务计费集成提供了一种简化的…

【第12节】C++设计模式(结构型模式)-Proxy(代理)模式

一、问题背景 使用 Proxy 模式优化对象访问 在某些情况下&#xff0c;直接访问对象可能会导致性能问题或安全性问题。Proxy 模式&#xff08;代理模式&#xff09;通过引入一个代理对象来控制对原始对象的访问&#xff0c;从而解决这些问题。以下是几种典型的应用场景&#xf…

​DeepSeek:如何通过自然语言生成HTML文件与原型图?

在当今快节奏的开发与设计环境中&#xff0c;快速生成HTML文件或原型图是每个开发者与设计师的迫切需求。虽然DeepSeek无法直接生成图片&#xff0c;但它却能够通过自然语言生成流程图、原型图以及交互式页面&#xff0c;甚至可以直接输出HTML代码。本文将详细介绍如何与DeepSe…

Python-07PDF转Word

2025-03-04-PDF转Word DeepSeek等大模型从来都不是简单的写一个静态博客这么肤浅&#xff08;太多博主都只讲这个内容了&#xff09;借助全网大神的奇思妙想&#xff0c;拓展我狭隘的思维边界。 文章目录 2025-03-04-PDF转Word [toc]1-参考网址2-学习要点3-核心逻辑4-核心代码 …

【全栈开发】---- 一文掌握 Websocket 原理,并用 Django 框架实现

目录 介绍 底层原理 握手环节详解&#xff1a; 收发数据&#xff08;加密&#xff09; Django 中配置 channels 1、注册 channels 2、在 settings.py 中添加 asgi_application 3、修改 asgi.py 文件 4、routing 5、consumers 实现 聊天室 介绍 WebSocket是一种先进的通信协议&…