更新记录
1.0.2(2024-03-23)
1.修复isSupport返回错误问题
1.0.1(2024-01-24)
1.更新文档说明
平台兼容性
Android | iOS |
---|---|
× | 适用版本区间:9 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
概述
health简介
健康应用程序是为了帮助组织您的重要健康信息,并使其易于在中心和安全的地方访问。随着iOS 15的发布,我们将添加更多功能来增强您的能力。有新的方法可以与你所爱的人共享数据,有一种评估你走路稳定性和跌倒风险的指标,还有趋势分析可以帮助你了解健康状况的变化。
health 插件概述
本插件封装了健康数据的原生 SDK,集成quantity与category 的权限申请、读取、写入功能。
插件使用攻略
ios证书勾选: HealthKit + HealthKit Estimate Recalibration
权限
NSHealthUpdateUsageDescription
NSHealthShareUsageDescription
模块接口
init
初始化
init()
params
无
callback(ret, err)
无
示例代码
var health = uni.requireNativePlugin('saner-Health');
health.init();
可用性
iOS系统
可提供的1.0.0及更高版本
isSupport
是否支持
isSupport()
params
无
callback(ret, err)
无
示例代码
var health = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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 = uni.requireNativePlugin('saner-Health');
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及更高版本