HealthKit

概述

HealthKit简介

健康应用程序是为了帮助组织您的重要健康信息,并使其易于在中心和安全的地方访问。随着iOS 15的发布,我们将添加更多功能来增强您的能力。有新的方法可以与你所爱的人共享数据,有一种评估你走路稳定性和跌倒风险的指标,还有趋势分析可以帮助你了解健康状况的变化。

HealthKit 插件概述

本插件封装了健康数据的原生 SDK,集成quantity与category 的权限申请、读取、写入功能。

插件使用攻略

ios证书勾选: HealthKit + HealthKit Estimate Recalibration

权限

NSHealthUpdateUsageDescription NSHealthShareUsageDescription


    <!-- res/UZApp.entitlements -->
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.developer.healthkit</key>
        <true/>
    </dict>
    </plist>
    

模块接口

isSupport

是否支持

isSupport()

params

callback(ret, err)

示例代码

var health = api.require('HealthKit');
var status = health.isSupport();

可用性

iOS系统

可提供的1.0.0及更高版本

getPermission

获取权限状态

getPermission({params}, callback(ret, err))

params

writeTypes

  • 类型:数组
  • 描述:写入权限类型

readTypes

  • 类型:数组
  • 描述:读取权限类型

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
health.getPermission({
    writeTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ],
    readTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ]
}, function(ret, err){
    console.log(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

requestPermission

请求权限

requestPermission({params}, callback(ret, err))

params

writeTypes

  • 类型:数组
  • 描述:写入权限类型

readTypes

  • 类型:数组
  • 描述:读取权限类型

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
health.requestPermission({
    writeTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ],
    readTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ]
}, function(ret, err){
    console.log(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

quantityQuerys

quantity(HKQuantityTypeIdentifier)类型数据查询

quantityQuerys({params}, callback(ret, err))

params

startTime:

  • 类型:整型
  • 描述:查询开始时间戳

endTime:

  • 类型:整型
  • 描述:查询截至时间戳

types

  • 类型:数组
  • 描述:数据类型

units

  • 类型:对象
  • 描述:查询单位 (默认count占位)

limit:

  • 类型:整型
  • 描述:查询条数

sorts:

  • 类型:数组
  • 描述:查询排序

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
    health.quantityQuerys({
        startTime:"1705420800",
        endTime:"1705507199",
        types:[
            // "HKQuantityTypeIdentifierStepCount", //步数
            // "HKQuantityTypeIdentifierHeartRate", //心率
            // "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
            // "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
            "HKQuantityTypeIdentifierDietaryWater", //饮水
        ],
        units:{
            // HKQuantityTypeIdentifierStepCount:"count",
            // HKQuantityTypeIdentifierHeartRate:"count/s",
            // HKQuantityTypeIdentifierDistanceWalkingRunning:"m",
            // HKQuantityTypeIdentifierHeartRateVariabilitySDNN:"ms",
            HKQuantityTypeIdentifierDietaryWater:"mL",
        },
        limit:10,
        sorts:[
            "startDate ASC",
            // "endDate ASC",
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

categoryQuerys

category(HKCategoryTypeIdentifier)类型数据查询

categoryQuerys({params}, callback(ret, err))

params

startTime:

  • 类型:整型
  • 描述:查询开始时间戳

endTime:

  • 类型:整型
  • 描述:查询截至时间戳

types

  • 类型:数组
  • 描述:数据类型

limit:

  • 类型:整型
  • 描述:查询条数

sorts:

  • 类型:数组
  • 描述:查询排序

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
    health.categoryQuerys({
        startTime:"1705420800",
        endTime:"1705507199",
        types:[
            // "HKQuantityTypeIdentifierStepCount", //步数
            // "HKQuantityTypeIdentifierHeartRate", //心率
            // "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
            // "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
            // "HKQuantityTypeIdentifierDietaryWater", //饮水
            // "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
            "HKCategoryTypeIdentifierMindfulSession" //正念
        ],
        limit:10,
        sorts:[
            "startDate ASC",
            // "endDate ASC",
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

stopQuery

关闭查询

stopQuery({params})

params

type:

  • 类型:字符串
  • 描述: quantity/category

callback(ret, err)

示例代码

var health = api.require('HealthKit');
health.stopQuery({type:"quantity"});

可用性

iOS系统

可提供的1.0.0及更高版本

quantityWrites

quantity(HKQuantityTypeIdentifier)类型数据查询

quantityWrites({params}, callback(ret, err))

params

type

  • 类型:字符串
  • 描述:数据类型

params:

  • 类型:数组
  • 描述:写入数据

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
    health.quantityWrites({
        type:"HKQuantityTypeIdentifierDietaryWater",
        params:[
            {
                startTime:"1705420800",
                endTime:"1705507199",
                unit:"mL",
                value:1,
            },
            {
                startTime:"1705420800",
                endTime:"1705507199",
                unit:"mL",
                value:3,
            }
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

categoryWrites

category(HKCategoryTypeIdentifier)类型数据查询

categoryWrites({params}, callback(ret, err))

params

type

  • 类型:字符串
  • 描述:数据类型

params:

  • 类型:数组
  • 描述:写入数据

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}

示例代码

var health = api.require('HealthKit');
    health.categoryWrites({
        type:"HKCategoryTypeIdentifierMindfulSession",
        params:[
            {
                startTime:"1705420800",
                endTime:"1705507199",
                value:0, // 暂时测试HKCategoryTypeIdentifierMindfulSession 必须是0 否则闪退
            },
            {
                startTime:"1705420800",
                endTime:"1705507199",
                value:0,
            }
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/05/20