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()
无
无
var health = api.require('HealthKit');
var status = health.isSupport();
iOS系统
可提供的1.0.0及更高版本
获取权限状态
getPermission({params}, callback(ret, err))
writeTypes
readTypes
ret:
{
    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({params}, callback(ret, err))
writeTypes
readTypes
ret:
{
    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及更高版本
quantity(HKQuantityTypeIdentifier)类型数据查询
quantityQuerys({params}, callback(ret, err))
startTime:
endTime:
types
units
limit:
sorts:
ret:
{
    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及更高版本
category(HKCategoryTypeIdentifier)类型数据查询
categoryQuerys({params}, callback(ret, err))
startTime:
endTime:
types
limit:
sorts:
ret:
{
    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({params})
type:
无
var health = api.require('HealthKit');
health.stopQuery({type:"quantity"});
iOS系统
可提供的1.0.0及更高版本
quantity(HKQuantityTypeIdentifier)类型数据查询
quantityWrites({params}, callback(ret, err))
type
params:
ret:
{
    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及更高版本
category(HKCategoryTypeIdentifier)类型数据查询
categoryWrites({params}, callback(ret, err))
type
params:
ret:
{
    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及更高版本