getSportData
API_LEVEL
3.6开始支持,API 兼容性请参考 API_LEVEL。
获取运动实时数据。
信息
权限代码: data:user.hd.workout
类型
function getSportData(options: Options, callback: (callbackResult: CallbackResult) => void): Result
参数
Options
| 属性 | 类型 | 必填 | 默认值 | 说明 | API_LEVEL |
|---|---|---|---|---|---|
| type | string | 是 | - | 运动类型,取值参考 SportType 的值 | 3.6 |
CallbackResult
| 属性 | 类型 | 说明 | API_LEVEL |
|---|---|---|---|
| code | number | 结果状态码,0 表示成功,非 0 表示失败 | 3.6 |
| data | string | 运动数据,返回值类型为字符串,需要使用 JSON.parse 进行解析,解析完的类型是 Array<object>,object 具体类型参考下文 SportType 类型说明,每一种 type 对应的返回值都不同 | 3.6 |
Result
| 类型 | 说明 |
|---|---|
Boolean | 如果返回 true 说明调用成功,否则调用失败 |
SportType
| 值 | 类型 | 说明 | API_LEVEL |
|---|---|---|---|
| speed | object | 速度,示例返回值 {"speed":"9.99", "name": "Speed"} | 3.6 |
| avg_speed | object | 平均速度,示例返回值 {"avg_speed":"9.99", "name": "Average Speed"} | 3.6 |
| pace | object | 配速,示例返回值 {"avg_pace":"1'12''", "name": "Average Pace"} | 3.6 |
| avg_pace | object | 平均配速,示例返回值 {"avg_pace":"1'12''", "name": "Average Pace"} | 3.6 |
| distance | object | 距离,示例返回值 {"distance":"9.99", "name": "Distance"} | 3.6 |
| duration | object | 运动用时,示例返回值 {"duration":"1:15:15", "name": "Duration"} | 3.6 |
| calories | object | 消耗,示例返回值 {"calories":"9.99", "name": "Calories"} | 3.6 |
| cadence | object | 步频/踏频,示例返回值 {"cadence":"9.99", "name": "Cadence"} | 3.6 |
| avg_cadence | object | 平均步 频/踏频,示例返回值 {"avg_cadence":"9.99", "name": "Average Cadence"} | 3.6 |
| altitude | object | 海拔,示例返回值 {"altitude":"9.99", "name": "Elevation"} | 3.6 |
| total_up_altitude | object | 累计上升海拔,示例返回值 {"total_up_altitude":"9.99", "name": "Total Ascent"} | 3.6 |
| total_count | object | 总计数,示例返回值 {"total_count":"9.99", "name": "Total count"} | 3.6 |
| vertical_speed | object | 垂直速度,示例返回值 {"vertical_speed":"9.99", "name": "Vertical Speed"} | 3.6 |
| downhill_count | object | 滑降次数,示例返回值 {"downhill_count":"9.99", "name": "Downhills"} | 3.6 |
| total_downhill_distance | object | 累计滑降距离,示例返回值 {"total_downhill_distance":"9.99", "name": "Total Downhill Distance"} | 3.6 |
代码示例
import { getSportData } from '@zos/app-access'
const result = getSportData(
{
type: 'distance',
},
(callbackResult) => {
const { code, data } = callbackResult
if (code === 0) {
const [{ distance }] = JSON.parse(data)
console.log(distance)
}
},
)