更新记录

1.2.0(2023-11-24)

增加适配对 睡眠分析 的支持

1.1.0(2023-04-09)

本次主要更新: 1.修复 请求不支持的share类型时,闪退的bug

1.0.0(2023-01-30)

新版首发

查看更多

平台兼容性

Android iOS
× 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


KJ-Health

查询健康数据、步数、骑车距离、心率、身高、体重、性别等等(ios)

注意

需要在 manifest.json 开启 “健康分享” 和 “健康更新” 权限

使用

<template>
    <view>
        <button type="primary" @click="isHealthDataAvailable">健康数据是否可用</button>
        <button type="primary" @click="getAuthorizationStatus">获取健康数据权限状态</button>
        <button type="primary" @click="requestAuthorization">请求健康数据权限</button>
        <button type="primary" @click="executeQuery">查询健康数据(统计)</button>
        <button type="primary" @click="executeQuerys">查询健康数据(集合)</button>
        <button type="primary" @click="stopQuery">停止查询健康数据</button>
        <view>{{json}}</view>
    </view>
</template>

<script>
    const KJHealth = uni.requireNativePlugin('KJ-Health');
    export default {
        data() {
            return {
                json: ""
            }
        },
        onLoad() {
            setTimeout()
        },
        methods: {
            isHealthDataAvailable() {
                KJHealth.isHealthDataAvailable((res) => {
                    console.log("isHealthDataAvailable: " + JSON.stringify(res));
                });
            },
            getAuthorizationStatus() {
                var dic = {
                    "quantityTypeIdentifier": "HKQuantityTypeIdentifierStepCount"
                }
                KJHealth.getAuthorizationStatus(dic, (res) => {
                    console.log("getAuthorizationStatus: " + JSON.stringify(res));
                    /**
                     * 返回参数说明:
                     * result - 状态码
                     * 0(尚未选择) 1(不允许) 2(允许)
                     * */
                });
            },
            requestAuthorization() {
                var dic = {
                    "shareTypes": ["HKQuantityTypeIdentifierStepCount", "HKQuantityTypeIdentifierHeartRate",
                        "HKQuantityTypeIdentifierBodyMass", "HKCategoryTypeIdentifierSleepAnalysis"
                    ],
                    "readTypes": ["HKQuantityTypeIdentifierStepCount", "HKQuantityTypeIdentifierHeartRate",
                        "HKQuantityTypeIdentifierBodyMass", "HKCategoryTypeIdentifierSleepAnalysis"
                    ]
                }
                KJHealth.requestAuthorization(dic, (res) => {
                    console.log("requestAuthorization: " + JSON.stringify(res));
                });
            },
            executeQuery() {
                /**
                 * 注意:只支持HKQuantityTypeIdentifier...类型查询,,HKCategoryTypeIdentifier...类型使用executeQuerys方法
                 * options - 查询方式
                 * 1 << 0 (数据来源统计) 1 << 1(平均值统计) 1 << 2(最小值统计) 1 << 3(最大值统计) 1 << 4(和统计) 1 << 5(最近的值 ios13) 1 << 6(时长 ios13)
                 * */
                var dic = {
                    "quantityTypeIdentifier": "HKQuantityTypeIdentifierStepCount",
                    "options": 1 << 0 | 1 << 3,
                    "startTime": "2020-01-29 00:00:00", //开始时间,时间格式为:yyyy-MM-ss HH:mm:ss
                    "endTime": "2023-04-29 23:59:59", //结束时间,时间格式为:yyyy-MM-ss HH:mm:ss
                    "quantityUnit": "kg" //数据的单位, 为nil的话为默认单位count
                }
                KJHealth.executeQuery(dic, (res) => {
                    console.log("executeQuery: " + JSON.stringify(res));
                    this.json = JSON.stringify(res)
                });
            },
            executeQuerys() {
                var dic = {
                    "quantityTypeIdentifier": "HKCategoryTypeIdentifierSleepAnalysis",
                    "startTime": "2023-01-29 00:00:00", //开始时间,时间格式为:yyyy-MM-ss HH:mm:ss
                    "endTime": "2023-12-01 23:59:59", //结束时间,时间格式为:yyyy-MM-ss HH:mm:ss
                    "quantityUnit": "count" //数据的单位, 为nil的话为默认单位count,为HKCategoryTypeIdentifier...类型时,无效
                }
                KJHealth.executeQuerys(dic, (res) => {
                    console.log("executeQuerys: " + JSON.stringify(res));
                    this.json = JSON.stringify(res)
                });
            },
            stopQuery() {
                KJHealth.stopQuery();
            }
        }
    }

    /**
     * shareTypes/readTypes/quantityTypeIdentifier-数量类型标识符
     * 身体测量
     *1. HKQuantityTypeIdentifierBodyMassIndex  身高体重指数
     *2. HKQuantityTypeIdentifierBodyFatPercentage 体脂率
     *3. HKQuantityTypeIdentifierHeight 身高
     *4. HKQuantityTypeIdentifierBodyMass 体重
     *5. HKQuantityTypeIdentifierLeanBodyMass 去脂体重
     * 健身数据
     *1. HKQuantityTypeIdentifierStepCount   步数
     *2. HKQuantityTypeIdentifierDistanceWalkingRunning  步行+跑步距离
     *3. HKQuantityTypeIdentifierDistanceCycling  骑车距离
     *4. HKQuantityTypeIdentifierDistanceWheelchair  轮椅距离
     *5. HKQuantityTypeIdentifierBasalEnergyBurned  静息能量
     *6. HKQuantityTypeIdentifierActiveEnergyBurned  活动能量
     *7. HKQuantityTypeIdentifierFlightsClimbed    已爬楼层
     *8. HKQuantityTypeIdentifierNikeFuel     NikeFuel //不允许share
     *9. HKQuantityTypeIdentifierAppleExerciseTime  锻炼分钟数健身数据 //不允许share
     *10.HKQuantityTypeIdentifierDistanceSwimming  游泳距离
     *11.HKQuantityTypeIdentifierSwimmingStrokeCount 游泳冲刺次数
     * 主要特征
     *1. HKQuantityTypeIdentifierHeartRate 心率
     *2. HKQuantityTypeIdentifierBodyTemperature  体温
     *3. HKQuantityTypeIdentifierBasalBodyTemperature 基础体温
     *4. HKQuantityTypeIdentifierBloodPressureSystolic  收缩压
     *5. HKQuantityTypeIdentifierBloodPressureDiastolic  舒张压
     *6. HKQuantityTypeIdentifierRespiratoryRate  呼吸速率
     * 数据结果
     *1. HKQuantityTypeIdentifierOxygenSaturation  血氧饱和度
     *2. HKQuantityTypeIdentifierPeripheralPerfusionIndex 末梢灌注指数
     *3. HKQuantityTypeIdentifierBloodGlucose 血糖
     *4. HKQuantityTypeIdentifierNumberOfTimesFallen 摔倒次数
     *5. HKQuantityTypeIdentifierElectrodermalActivity  皮电活动
     *6. HKQuantityTypeIdentifierInhalerUsage 吸入剂用量
     *7. HKQuantityTypeIdentifierBloodAlcoholContent  血液酒精浓度
     *8. HKQuantityTypeIdentifierForcedVitalCapacity  最大肺活量|用力肺活量
     *9. HKQuantityTypeIdentifierForcedExpiratoryVolume1 第一秒用力呼气量
     *10.HKQuantityTypeIdentifierPeakExpiratoryFlowRate 呼气流量峰值
     * 营养摄入
     *1. HKQuantityTypeIdentifierDietaryFatTotal 总脂肪
     *2. HKQuantityTypeIdentifierDietaryFatPolyunsaturated  多元不饱和脂肪
     *3. HKQuantityTypeIdentifierDietaryFatMonounsaturated 单元不饱和脂肪
     *4. HKQuantityTypeIdentifierDietaryFatSaturated 饱和脂肪
     *5. HKQuantityTypeIdentifierDietaryCholesterol 膳食胆固醇
     *6. HKQuantityTypeIdentifierDietarySodium 钠
     *7. HKQuantityTypeIdentifierDietaryCarbohydrates 碳水化合物
     *8. HKQuantityTypeIdentifierDietaryFiber 纤维
     *9. HKQuantityTypeIdentifierDietarySugar 膳食糖
     *10.HKQuantityTypeIdentifierDietaryEnergyConsumed  膳食能量
     *11.HKQuantityTypeIdentifierDietaryProtein 蛋白质
     *12.HKQuantityTypeIdentifierDietaryVitaminA 维生素 A
     *13.HKQuantityTypeIdentifierDietaryVitaminB6 维生素 B6
     *14.HKQuantityTypeIdentifierDietaryVitaminB12 维生素 B12
     *15.HKQuantityTypeIdentifierDietaryVitaminC 维生素 C
     *16.HKQuantityTypeIdentifierDietaryVitaminD 维生素 D
     *17.HKQuantityTypeIdentifierDietaryVitaminE 维生素 E
     *18.HKQuantityTypeIdentifierDietaryVitaminK 维生素 K
     *19.HKQuantityTypeIdentifierDietaryCalcium  钙
     *20.HKQuantityTypeIdentifierDietaryIron 铁
     *21.HKQuantityTypeIdentifierDietaryThiamin 硫铵
     *22.HKQuantityTypeIdentifierDietaryRiboflavin 核黄素
     *23.HKQuantityTypeIdentifierDietaryNiacin 烟酸
     *24.HKQuantityTypeIdentifierDietaryFolate 叶酸
     *25.HKQuantityTypeIdentifierDietaryBiotin 生物素
     *26.HKQuantityTypeIdentifierDietaryPantothenicAcid 泛酸
     *27.HKQuantityTypeIdentifierDietaryPhosphorus 磷
     *28.HKQuantityTypeIdentifierDietaryIodine 碘
     *29.HKQuantityTypeIdentifierDietaryMagnesium 镁
     *30.HKQuantityTypeIdentifierDietaryZinc 锌
     *31.HKQuantityTypeIdentifierDietarySelenium 硒
     *32.HKQuantityTypeIdentifierDietaryCopper 铜
     *33.HKQuantityTypeIdentifierDietaryManganese 锰
     *34.HKQuantityTypeIdentifierDietaryChromium 铬
     *35.HKQuantityTypeIdentifierDietaryMolybdenum 钼
     *36.HKQuantityTypeIdentifierDietaryChloride 氯化物
     *37.HKQuantityTypeIdentifierDietaryPotassium 钾
     *38.HKQuantityTypeIdentifierDietaryCaffeine 咖啡因
     *39.HKQuantityTypeIdentifierDietaryWater 水
     *40.HKQuantityTypeIdentifierUVExposure 紫外线指数
     * 生殖健康
     *1.HKCategoryTypeIdentifierSleepAnalysis 睡眠分析
     *2.HKCategoryTypeIdentifierAppleStandHour 站立小时  //不允许share
     *3.HKCategoryTypeIdentifierCervicalMucusQuality 宫颈粘液质量
     *4.HKCategoryTypeIdentifierOvulationTestResult 排卵测试结果
     *5.HKCategoryTypeIdentifierMenstrualFlow 月经
     *6.HKCategoryTypeIdentifierIntermenstrualBleeding 点滴出血
     *7.HKCategoryTypeIdentifierSexualActivity 性行为
     *8.HKCategoryTypeIdentifierMindfulSession 正念分钟数
     * 本人信息 //不允许share
     *1. HKCharacteristicTypeIdentifierBiologicalSex 性别 
     *2. HKCharacteristicTypeIdentifierBloodType 血型 
     *3. HKCharacteristicTypeIdentifierDateOfBirth 出生日期
     *4. HKCharacteristicTypeIdentifierFitzpatrickSkinType 日光反应型皮肤类型
     * */
</script>

隐私、权限声明

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

需要开启 “健康分享” 和 “健康更新” 权限

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

插件不采集任何数据

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问