跳过内容

开始

GitHub

您可以使用我们的 AI 助手设置来安装插件。将 Capgo 技能添加到您的 AI 工具中,使用以下命令:

终端窗口
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

然后使用以下提示:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-health` plugin in my project.

如果您更喜欢手动设置,请按照以下命令安装插件并遵循以下平台特定的说明:

终端窗口
bun add @capgo/capacitor-health
bunx cap sync

导入

导入
import { Health } from '@capgo/capacitor-health';

API概述

API概述

返回当前平台是否支持本地健康检查SDK。

import { Health } from '@capgo/capacitor-health';
await Health.isAvailable();

requestAuthorization

请求授权

请求对提供的数据类型的读写访问

import { Health } from '@capgo/capacitor-health';
await Health.requestAuthorization({} as AuthorizationOptions);

checkAuthorization

标题:检查授权

检查授权状态,用于提供的数据类型,而不提示用户。

import { Health } from '@capgo/capacitor-health';
await Health.checkAuthorization({} as AuthorizationOptions);

读取给定数据类型内指定时间范围内的样本。

import { Health } from '@capgo/capacitor-health';
await Health.readSamples({} as QueryOptions);

将单个样本写入本机健康存储。

import { Health } from '@capgo/capacitor-health';
await Health.saveSample({} as WriteSampleOptions);

openHealthConnectSettings

标题:打开健康连接设置

打开健康连接设置屏幕(仅限 Android)。 在 iOS 上,这个方法什么也不做。

使用此功能来管理用户的健康连接权限,或安装健康连接如果不可用。

import { Health } from '@capgo/capacitor-health';
await Health.openHealthConnectSettings();

显示健康连接的应用隐私政策(仅限 Android)。 在 iOS 上,这个方法什么也不做。

健康连接显示的隐私政策屏幕与用户在权限对话框中点击“隐私政策”时显示的相同。

可以通过在应用的 strings.xml 中添加一个名为“health_connect_privacy_policy_url”的字符串资源来配置隐私政策 URL, 或将一个 HTML 文件放在 assets/www/privacypolicy.html 中。

import { Health } from '@capgo/capacitor-health';
await Health.showPrivacyPolicy();

从本机健康存储中查询运动会话。 支持 iOS(HealthKit)和 Android(Health Connect)。

import { Health } from '@capgo/capacitor-health';
await Health.queryWorkouts({} as QueryWorkoutsOptions);

queryAggregated

标题:查询汇总

从本机健康存储中查询汇总健康数据。 将数据聚合到时间桶(小时、天、周、月)中,支持操作如求和、平均值、最小值或最大值。 这比为大范围日期获取单个样本更高效。

在 iOS (HealthKit) 和 Android (Health Connect) 上支持。

import { Health } from '@capgo/capacitor-health';
await Health.queryAggregated({} as QueryAggregatedOptions);

类型参考

类型参考

AvailabilityResult

复制到剪贴板
export interface AvailabilityResult {
available: boolean;
/** Platform specific details (for debugging/diagnostics). */
platform?: 'ios' | 'android' | 'web';
reason?: string;
}

AuthorizationOptions

复制到剪贴板
export interface AuthorizationOptions {
/** Data types that should be readable after authorization. */
read?: HealthDataType[];
/** Data types that should be writable after authorization. */
write?: HealthDataType[];
}

AuthorizationStatus

复制到剪贴板
export interface AuthorizationStatus {
readAuthorized: HealthDataType[];
readDenied: HealthDataType[];
writeAuthorized: HealthDataType[];
writeDenied: HealthDataType[];
}

QueryOptions

复制到剪贴板
export interface QueryOptions {
/** The type of data to retrieve from the health store. */
dataType: HealthDataType;
/** Inclusive ISO 8601 start date (defaults to now - 1 day). */
startDate?: string;
/** Exclusive ISO 8601 end date (defaults to now). */
endDate?: string;
/** Maximum number of samples to return (defaults to 100). */
limit?: number;
/** Return results sorted ascending by start date (defaults to false). */
ascending?: boolean;
}

ReadSamplesResult

ReadSamplesResult
export interface ReadSamplesResult {
samples: HealthSample[];
}

WriteSampleOptions

WriteSampleOptions
export interface WriteSampleOptions {
dataType: HealthDataType;
value: number;
/**
* Optional unit override. If omitted, the default unit for the data type is used
* (count for `steps`, meter for `distance`, kilocalorie for `calories`, bpm for `heartRate`, kilogram for `weight`).
*/
unit?: HealthUnit;
/** ISO 8601 start date for the sample. Defaults to now. */
startDate?: string;
/** ISO 8601 end date for the sample. Defaults to startDate. */
endDate?: string;
/** Metadata key-value pairs forwarded to the native APIs where supported. */
metadata?: Record<string, string>;
/** For blood pressure data, the systolic value in mmHg. Required when dataType is 'bloodPressure'. */
systolic?: number;
/** For blood pressure data, the diastolic value in mmHg. Required when dataType is 'bloodPressure'. */
diastolic?: number;
}

QueryWorkoutsOptions

QueryWorkoutsOptions
export interface QueryWorkoutsOptions {
/** Optional workout type filter. If omitted, all workout types are returned. */
workoutType?: WorkoutType;
/** Inclusive ISO 8601 start date (defaults to now - 1 day). */
startDate?: string;
/** Exclusive ISO 8601 end date (defaults to now). */
endDate?: string;
/** Maximum number of workouts to return (defaults to 100). */
limit?: number;
/** Return results sorted ascending by start date (defaults to false). */
ascending?: boolean;
/**
* Anchor for pagination. Use the anchor returned from a previous query to continue from that point.
* On iOS, this is the ISO 8601 cursor returned by the previous query. On Android, this uses
* Health Connect's pageToken.
* Omit this parameter to start from the beginning.
*/
anchor?: string;
}

QueryWorkoutsResult

QueryWorkoutsResult
export interface QueryWorkoutsResult {
workouts: Workout[];
/**
* Anchor for the next page of results. Pass this value as the anchor parameter in the next query
* to continue pagination. If undefined or null, there are no more results.
*/
anchor?: string;
}

QueryAggregatedOptions

QueryAggregatedOptions
export interface QueryAggregatedOptions {
/** The type of data to aggregate from the health store. */
dataType: HealthDataType;
/** Inclusive ISO 8601 start date (defaults to now - 1 day). */
startDate?: string;
/** Exclusive ISO 8601 end date (defaults to now). */
endDate?: string;
/** Time bucket for aggregation (defaults to 'day'). */
bucket?: BucketType;
/** Aggregation operation to perform (defaults to 'sum'). */
aggregation?: AggregationType;
}

QueryAggregatedResult

QueryAggregatedResult
export interface QueryAggregatedResult {
samples: AggregatedSample[];
}

HealthDataType

健康数据类型
export type HealthDataType =
| 'steps'
| 'distance'
| 'calories'
| 'heartRate'
| 'weight'
| 'sleep'
| 'respiratoryRate'
| 'oxygenSaturation'
| 'restingHeartRate'
| 'heartRateVariability'
| 'bloodPressure'
| 'bloodGlucose'
| 'bodyTemperature'
| 'height'
| 'flightsClimbed'
| 'exerciseTime'
| 'distanceCycling'
| 'bodyFat'
| 'basalBodyTemperature'
| 'basalCalories'
| 'totalCalories'
| 'mindfulness'
| 'workouts';

HealthSample

健康样本
export interface HealthSample {
dataType: HealthDataType;
value: number;
unit: HealthUnit;
startDate: string;
endDate: string;
sourceName?: string;
sourceId?: string;
/** Platform-specific unique identifier (HealthKit UUID on iOS, Health Connect metadata ID on Android). */
platformId?: string;
/** For sleep data, indicates the sleep state (e.g., 'asleep', 'awake', 'rem', 'deep', 'light'). */
sleepState?: SleepState;
/** For blood pressure data, the systolic value in mmHg. */
systolic?: number;
/** For blood pressure data, the diastolic value in mmHg. */
diastolic?: number;
}

真实来源

真实来源

本页面由插件生成 src/definitions.ts当公共API上游发生变化时,请重新同步。

继续从开始

继续从开始

如果您正在使用 开始 为了计划仪表板和API操作,连接它 使用@capgo/capacitor-health 为本地能力在使用@capgo/capacitor-health中 API概述 为实现细节在API概述中 介绍 为实现细节在介绍中 API密钥 为实现细节在API密钥中,并且 设备 为实现细节在设备中。