Skip to content
Back to skills

Hmos Networkboost Kit Getmultipathquota

ASecurity

查询应用多网并发配额使用情况,包括已使用和剩余的次数与时长,支持24小时周期自动刷新,适用于多网加速场景配额管理

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
developmenttypescriptapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add IsKenKenYa/skills --skill hmos-networkboost-kit-getmultipathquota --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hmos Networkboost Kit Getmultipathquota?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hmos Networkboost Kit Getmultipathquota
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iskenkenya-hmos-networkboost-kit-getmultipathquota/badge)](https://www.skillsdirectory.com/skills/iskenkenya-hmos-networkboost-kit-getmultipathquota)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hmos-networkboost-kit-getmultipathquota
description: 查询应用多网并发配额使用情况,包括已使用和剩余的次数与时长,支持24小时周期自动刷新,适用于多网加速场景配额管理
---

# 多网配额查询技能

## 功能描述

本技能提供多网并发配额查询能力,帮助应用获取当前剩余的多网并发配额信息,包括已使用的配额次数和时长、剩余的配额次数和时长。应用可根据配额信息合理分配使用多网络加速的次数和时长。配额以24小时为周期进行刷新,配额耗尽时会限制使用多网功能。

## 使用场景

### 触发词
- "查询多网配额"
- "获取配额信息"
- "多网配额查询"
- "查看剩余配额"
- "配额统计"

### 能做
- 获取应用已使用的多网配额次数和时长
- 获取应用剩余的多网配额次数和时长
- 在发起多网请求前检查配额是否充足
- 在配额不足时提示用户等待刷新

### 绝不做
- 修改或重置配额信息
- 绕过配额限制发起多网请求
- 查询其他应用的配额信息

### 补充
- 配额以24小时为周期自动刷新
- 配额耗尽后请求多网会抛出错误码1013620004
- 需要申请ohos.permission.LINKTURBO权限
- API版本要求:6.0.0(20)及以上

## 调用规范和规则

### 输入约束
- 无需输入参数
- 调用前需确保已申请ohos.permission.LINKTURBO权限
- 调用前需导入@kit.NetworkBoostKit模块

### 执行约束
- 同步调用,立即返回结果
- 最大耗时:< 100ms
- 无频次限制

### 内容约束
- 禁止修改返回的配额数据
- 禁止缓存配额数据超过1小时
- 返回数据仅供展示和判断使用

### 降级约束
- 权限未申请:提示用户申请权限
- API不支持:提示设备不支持
- 内部异常:返回默认值或提示稍后重试

## 调用流程和步骤

### 步骤1:准备阶段

**前置校验**:
1. 检查设备API版本是否>=6.0.0(20)
2. 确认已申请ohos.permission.LINKTURBO权限
3. 导入必要的模块

**参数准备**:
```typescript
import { netHandover } from '@kit.NetworkBoostKit';
import { BusinessError } from '@kit.BasicServicesKit';
```

### 步骤2:调用API

**示例代码**:
```typescript
import { netHandover } from '@kit.NetworkBoostKit';
import { BusinessError } from '@kit.BasicServicesKit';

function getMultiPathQuota(): netHandover.MultiPathQuota | null {
  try {
    let multiquota: netHandover.MultiPathQuota = netHandover.getMultiPathQuotaStats();
    
    console.info('getMultiPathQuotaStats multiPathQuota.used.count is:' + multiquota.used.count);
    console.info('getMultiPathQuotaStats multiPathQuota.used.duration is:' + multiquota.used.duration);
    console.info('getMultiPathQuotaStats multiPathQuota.remaining.count is:' + multiquota.remaining.count);
    console.info('getMultiPathQuotaStats multiPathQuota.remaining.duration is:' + multiquota.remaining.duration);
    
    return multiquota;
  } catch (err) {
    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
    return null;
  }
}
```

### 步骤3:错误处理

```typescript
import { netHandover } from '@kit.NetworkBoostKit';
import { BusinessError } from '@kit.BasicServicesKit';

function getMultiPathQuotaWithErrorHandling(): void {
  try {
    let multiquota: netHandover.MultiPathQuota = netHandover.getMultiPathQuotaStats();
    
    if (multiquota.remaining.count <= 0 || multiquota.remaining.duration <= 0) {
      console.warn('配额已耗尽,请等待24小时后重试');
      return;
    }
    
    console.info('已使用次数: ' + multiquota.used.count);
    console.info('已使用时长: ' + multiquota.used.duration + '秒');
    console.info('剩余次数: ' + multiquota.remaining.count);
    console.info('剩余时长: ' + multiquota.remaining.duration + '秒');
    
  } catch (err) {
    const businessError = err as BusinessError;
    switch (businessError.code) {
      case 201:
        console.error('权限校验失败,请申请ohos.permission.LINKTURBO权限');
        break;
      case 1013600001:
        console.error('内部处理异常,请稍后重试');
        break;
      case 1013600002:
        console.error('系统处理异常,请检查网络管理服务');
        break;
      default:
        console.error('未知错误: code=' + businessError.code + ', message=' + businessError.message);
    }
  }
}
```

### 步骤4:降级处理

```typescript
import { netHandover } from '@kit.NetworkBoostKit';
import { BusinessError } from '@kit.BasicServicesKit';

async function checkQuotaAndRequest(): Promise<boolean> {
  try {
    let multiquota: netHandover.MultiPathQuota = netHandover.getMultiPathQuotaStats();
    
    if (multiquota.remaining.count <= 0) {
      console.warn('剩余配额次数为0,无法发起多网请求');
      return false;
    }
    
    if (multiquota.remaining.duration <= 0) {
      console.warn('剩余配额时长为0,无法发起多网请求');
      return false;
    }
    
    console.info('配额充足,可以发起多网请求');
    return true;
    
  } catch (err) {
    const businessError = err as BusinessError;
    if (businessError.code === 201) {
      console.error('权限不足,请先申请权限');
    }
    return false;
  }
}
```

## 错误码说明

| 错误码 | 说明 | 解决方法 |
|-------|------|---------|
| 201 | 权限校验失败 | 在module.json5中申请ohos.permission.LINKTURBO权限 |
| 1013600001 | 内部处理异常,如内部管理状态机异常 | 稍后重试或重启应用 |
| 1013600002 | 系统处理异常,如IPC跨进程调用失败 | 检查系统服务状态或重启设备 |

## 编译和修复问题

### 依赖声明
```json
{
  "dependencies": {
    "@kit.NetworkBoostKit": "^6.0.0",
    "@kit.BasicServicesKit": "^6.0.0"
  }
}
```

### 环境要求
- HarmonyOS API版本:6.0.0(20)及以上
- DevEco Studio:4.0及以上版本

### 常见编译问题

**问题1:找不到@kit.NetworkBoostKit模块**
```
Error: Cannot find module '@kit.NetworkBoostKit'
```
**解决方法**:确保项目使用的HarmonyOS SDK版本>=6.0.0(20),在build-profile.json5中配置正确的compatibleSdkVersion。

**问题2:权限未声明导致运行时错误**
```
Error: Permission denied
```
**解决方法**:在module.json5文件的requestPermissions中添加:
```json
{
  "name": "ohos.permission.LINKTURBO"
}
```

## 常见问题与解决方法

### Q1:获取配额时返回null或抛出异常
**原因**:权限未申请或API版本不支持
**解决方法**:
- 检查module.json5中是否添加ohos.permission.LINKTURBO权限
- 确认设备API版本>=6.0.0(20)

### Q2:配额数据为0是否正常
**原因**:配额已耗尽或尚未分配
**解决方法**:
- 配额耗尽时需等待24小时周期刷新
- 首次使用时系统可能需要初始化配额

### Q3:如何判断是否可以发起多网请求
**原因**:需要综合判断次数和时长
**解决方法**:
- 检查remaining.count > 0
- 检查remaining.duration > 0
- 两个条件都满足时才可发起多网请求

## 输出结果报告

执行完成后输出以下信息:

```json
{
  "status": "success",
  "usedQuota": {
    "count": "已使用次数",
    "duration": "已使用时长(秒)"
  },
  "remainingQuota": {
    "count": "剩余次数",
    "duration": "剩余时长(秒)"
  },
  "apiUsed": [
    "netHandover.getMultiPathQuotaStats()"
  ]
}
```

## 参考文档

- [API开发指南](references/networkboost-netmultipath-getmultipathquota.md)
- [API参考说明](references/networkboost-nethandover.md)

## 完整示例代码

- [ArkTS示例](assets/example_getmultipathquota.ets)

## 测试用例

### 正向测试用例
- [正常获取配额信息](tests/test_positive.ets):验证成功获取配额数据

### 边界测试用例
- [配额耗尽场景](tests/test_boundary.ets):验证配额为0时的处理

### 异常测试用例
- [权限未申请](tests/test_exception.ets):验证权限缺失时的错误处理

Files in this skill

  • SUB_SKILL.md7.9 KB
  • assets/example_getmultipathquota.ets5.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…