更新记录

1.0.0(2025-12-22)

  • 初次发布。
  • 支持 Android、iOS、HarmonyOS Next 三端计步。
  • 支持实时步数监听(增量计算)。
  • 支持历史步数查询(iOS 支持 7 天历史,Android 支持运行期间记录查询)。
  • 适配 Android 10+ 运行时权限。
  • 采用 UTS 架构,无原生依赖,体积轻巧。

平台兼容性

uni-app(4.57)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- × × 5.0 12
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.57)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 12 ×

beautifulman-fNumber 计步器插件

基于 UTS 开发的高性能计步器插件,支持 Android、iOS 和 HarmonyOS Next。提供实时步数监听和历史步数查询功能。

平台支持情况

Android iOS HarmonyOS Next
支持 (SDK 21+) 支持 (iOS 12+) 支持

注意:Android 端由于硬件特性,历史步数查询仅能查询到插件运行期间记录过的数据。iOS 支持查询过去 7 天的历史数据。

准备工作

使用本插件需要配置相关权限。

Android 配置

manifest.jsonapp-plus -> distribute -> android -> permissions 中添加:

"<uses-permission android:name=\"android.permission.ACTIVITY_RECOGNITION\"/>"

且建议设置 targetSdkVersion 为 29 或更高。

iOS 配置

manifest.jsonapp-plus -> distribute -> ios -> privacyDescription 中添加:

"NSMotionUsageDescription": "需要访问您的运动数据以进行计步"

HarmonyOS 配置

插件已内置权限声明:ohos.permission.ACTIVITY_MOTION


API 说明

1. isStepCountingSupported()

检查当前设备是否支持计步功能。

返回值Boolean (true: 支持, false: 不支持)

示例代码

import { isStepCountingSupported } from "@/uni_modules/beautifulman-fNumber";

const isSupported = isStepCountingSupported();
console.log(isSupported ? "支持计步" : "不支持计步");

2. startStepCountUpdates(options)

开始实时监听步数更新。每当步数发生变化时,会触发 success 回调。

参数说明 参数名 类型 必填 说明
success Function 成功回调,返回 StepCountResult
fail Function 失败回调
complete Function 完成回调
StepCountResult 说明 属性名 类型 说明
steps Number 增量步数(自调用此方法起的累计步数)
timestamp Number 当前时间戳

示例代码

import { startStepCountUpdates } from "@/uni_modules/beautifulman-fNumber";

startStepCountUpdates({
  success: (res) => {
    console.log("实时步数:", res.steps);
  },
  fail: (err) => {
    console.error("启动失败:", err.errMsg);
  }
});

3. stopStepCountUpdates()

停止实时步数监听,释放系统资源。

示例代码

import { stopStepCountUpdates } from "@/uni_modules/beautifulman-fNumber";

stopStepCountUpdates();

4. queryStepCount(options)

按日期范围查询步数。

参数说明 参数名 类型 必填 说明
startDate Number 开始时间戳 (ms)
endDate Number 结束时间戳 (ms)
success Function 成功回调
fail Function 失败回调

示例代码

import { queryStepCount } from "@/uni_modules/beautifulman-fNumber";

const now = new Date();
const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();

queryStepCount({
  startDate: todayStart,
  endDate: now.getTime(),
  success: (res) => {
    console.log("今日总步数:", res.steps);
  },
  fail: (err) => {
    console.error("查询失败:", err.errMsg);
  }
});

错误码说明

错误码 说明
9010001 权限不足(未授权健身运动权限)
9010002 设备不支持传感器或功能不可用
9010003 启动监听或查询失败

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android:android.permission.ACTIVITY_RECOGNITION; iOS:NSMotionUsageDescription; HarmonyOS Next:ohos.permission.ACTIVITY_MOTION

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

1. 采集的数据内容 本插件仅采集与计步相关的原生传感器数据,具体包括: 传感器原始步数:从设备硬件传感器(Android 的 TYPE_STEP_COUNTER 或 iOS 的 CMPedometer)获取的累计步数。 计算后的步数:插件会根据原始数据计算出“当前增量步数”和“当日总步数”。 时间戳:记录步数产生时的系统时间(用于历史查询排序和计算)。 2. 发送的服务器地址 无服务器传输:本插件不包含任何网络请求逻辑,不会将您的步数数据发送到任何远程服务器。 本地存储: Android:为了支持历史查询,插件会将当日步数临时加密存储在手机本地的 SharedPreferences(私有存储区域)中。 iOS/鸿蒙:直接调用系统底层数据库,插件本身不另存副本。 数据流向:数据仅在您的 App 内部流转,由插件接口返回给您的前端 Vue 页面。 3. 数据用途说明 采集到的数据仅用于以下用途: 实时展示:在 App 界面上实时反馈用户当前的运动步数。 历史记录:允许用户查看过去几天的运动达标情况(例如展示“今日总计”或“历史查询”)。 本地统计:供 App 开发者根据步数进行本地化的健康算法处理(如消耗热量计算等,需开发者在业务层实现)。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。