js-apis-file-securityLabel.md 6.2 KB
Newer Older
1
18721213663 已提交
1
# @ohos.file.securityLabel (数据标签)
Z
zhangxingxia 已提交
2

H
haonan_7 已提交
3 4
该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。

zyjhandsome's avatar
zyjhandsome 已提交
5
> **说明:**
Z
zhangxingxia 已提交
6
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
1
18721213663 已提交
7
> 本模块支持对错误码进行处理,错误码及其适配方式[参考文档](../errorcodes/errorcode-filemanagement.md#错误码适配指导)。
Z
zhangxingxia 已提交
8 9 10 11

## 导入模块

```js
1
18721213663 已提交
12
import securityLabel from '@ohos.file.securityLabel';
Z
zhangxingxia 已提交
13 14 15 16
```

## 使用说明

W
wangbo 已提交
17
使用该功能模块对文件/目录进行操作前,需要先获取其应用沙箱路径,获取方式及其接口用法请参考:
Z
zhangxingxia 已提交
18

1
18721213663 已提交
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
**Stage模型**

 ```js
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        let context = this.context;
        let pathDir = context.filesDir;
    }
}
 ```

**FA模型**

 ```js
 import featureAbility from '@ohos.ability.featureAbility';
 
 let context = featureAbility.getContext();
 context.getFilesDir().then((data) => {
      let pathDir = data;
 })
 ```

FA模型context的具体获取方法参见[FA模型](js-apis-inner-app-context.md#Context模块)
Z
zhangxingxia 已提交
44 45 46

## securityLabel.setSecurityLabel

1
18721213663 已提交
47
setSecurityLabel(path:string, type:DataLevel):Promise<void>
Z
zhangxingxia 已提交
48 49 50

以异步方法设置数据标签,以promise形式返回结果。

W
wangbo 已提交
51
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
52

Z
zhangxingxia 已提交
53 54
**参数:**

W
wangbo 已提交
55 56 57
| 参数名    | 类型       | 必填 | 说明                                         |
| --------- | ------    | ---- | -------------------------------------------- |
| path      | string    | 是   | 文件路径                                     |
1
18721213663 已提交
58
| type      | DataLevel | 是   | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
Z
zhangxingxia 已提交
59 60 61 62 63 64 65 66 67 68

**返回值:**

  | 类型                | 说明             |
  | ------------------- | ---------------- |
  | Promise<void> | Promise实例,用于异步获取结果。本调用将返回空值。|

**示例:**

  ```js
1
18721213663 已提交
69
  securityLabel.setSecurityLabel(path, "s0").then(() => {
Z
zhangxingxia 已提交
70
      console.info("setSecurityLabel successfully");
1
18721213663 已提交
71
  }).catch((err) => {
1
18721213663 已提交
72
      console.info("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
Z
zhangxingxia 已提交
73 74 75 76 77
  });
  ```

## securityLabel.setSecurityLabel

1
18721213663 已提交
78
setSecurityLabel(path:string, type:DataLevel, callback: AsyncCallback<void>):void
Z
zhangxingxia 已提交
79 80 81

以异步方法设置数据标签,以callback形式返回结果。

W
wangbo 已提交
82
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
83

Z
zhangxingxia 已提交
84 85 86 87 88
**参数:**

| 参数名    | 类型                      | 必填 | 说明                                         |
| --------- | ------------------------- | ---- | -------------------------------------------- |
| path      | string                    | 是   | 文件路径                                     |
1
18721213663 已提交
89
| type      | DataLevel                 | 是   | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
Z
zhangxingxia 已提交
90 91 92 93 94
| callback  | AsyncCallback<void> | 是   | 是否设置数据标签之后的回调                   |

**示例:**

  ```js
1
18721213663 已提交
95
  securityLabel.setSecurityLabel(path, "s0", (err) => {
1
18721213663 已提交
96 97 98 99 100
    if (err) {
      console.info("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.info("setSecurityLabel successfully.");
    }
Z
zhangxingxia 已提交
101 102
  });
  ```
1
18721213663 已提交
103

Z
zhangxingxia 已提交
104 105
## securityLabel.setSecurityLabelSync

1
18721213663 已提交
106
setSecurityLabelSync(path:string, type:DataLevel):void
Z
zhangxingxia 已提交
107 108 109

以同步方法设置数据标签。

W
wangbo 已提交
110
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
111

Z
zhangxingxia 已提交
112 113 114 115 116
**参数:**

| 参数名    | 类型   | 必填 | 说明                                         |
| --------- | ------ | ---- | -------------------------------------------- |
| path      | string | 是   | 文件路径                                     |
1
18721213663 已提交
117
| type      | DataLevel | 是   | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
Z
zhangxingxia 已提交
118 119 120 121

**示例:**

```js
Z
zhangxingxia 已提交
122
securityLabel.setSecurityLabelSync(path, "s0");
Z
zhangxingxia 已提交
123 124 125 126 127 128 129 130
```

## securityLabel.getSecurityLabel

getSecurityLabel(path:string):Promise<string>

异步方法获取数据标签,以promise形式返回结果。

W
wangbo 已提交
131
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
132

Z
zhangxingxia 已提交
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
**参数:**

  | 参数名 | 类型   | 必填 | 说明     |
  | ------ | ------ | ---- | -------- |
  | path   | string | 是   | 文件路径 |

**返回值:**

  | 类型                  | 说明         |
  | --------------------- | ------------ |
  | Promise<string> | 返回数据标签 |

**示例:**

  ```js
1
18721213663 已提交
148
  securityLabel.getSecurityLabel(path).then((type) => {
1
18721213663 已提交
149
      console.log("getSecurityLabel successfully, Label: " + type);
1
18721213663 已提交
150
  }).catch((err) => {
1
18721213663 已提交
151
      console.log("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
Z
zhangxingxia 已提交
152 153 154 155 156 157 158 159 160
  });
  ```

## securityLabel.getSecurityLabel

getSecurityLabel(path:string, callback:AsyncCallback<string>): void

异步方法获取数据标签,以callback形式返回结果。

W
wangbo 已提交
161
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
162

Z
zhangxingxia 已提交
163 164 165 166 167 168 169 170 171 172
**参数:**

  | 参数名   | 类型                        | 必填 | 说明                       |
  | -------- | --------------------------- | ---- | -------------------------- |
  | path     | string                      | 是   | 文件路径                   |
  | callback | AsyncCallback<string> | 是   | 异步获取数据标签之后的回调 |

**示例:**

  ```js
1
18721213663 已提交
173
  securityLabel.getSecurityLabel(path, (err, type) => {
1
18721213663 已提交
174 175 176 177 178
    if (err) {
      console.log("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
    } else {
      console.log("getSecurityLabel successfully, Label: " + type);
    }
Z
zhangxingxia 已提交
179 180 181 182 183 184 185 186
  });
  ```
## securityLabel.getSecurityLabelSync

getSecurityLabelSync(path:string):string

以同步方法获取数据标签。

W
wangbo 已提交
187
**系统能力**:SystemCapability.FileManagement.File.FileIO
Z
zhangxingxia 已提交
188

Z
zhangxingxia 已提交
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
**参数:**

| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| path   | string | 是   | 文件路径 |

**返回值:**

| 类型   | 说明         |
| ------ | ------------ |
| string | 返回数据标签 |

**示例:**

```js
1
18721213663 已提交
204 205
let type = securityLabel.getSecurityLabelSync(path);
console.log("getSecurityLabel successfully, Label: " + type);
Z
zhangxingxia 已提交
206
```