提交 cf8fd9d5 编写于 作者: F FangJinliang 提交者: Gitee

Merge branch 'master' of gitee.com:openharmony/docs into cherry-pick-1653923252

......@@ -417,7 +417,7 @@ Example:
// Assume that the first line exceeds the length limit.
```cpp
if (currentValue > threshold && // Good: After the line break, the logical-AND operators are placed at the end of the line.
someConditionsion) {
someCondition) {
DoSomething();
...
}
......
......@@ -184,7 +184,7 @@
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore |off(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;| 从数据库中删除指定类型的指定观察者,结果以callback形式返回。<br/>-&nbsp;type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-&nbsp;observer:指已注册的数据更改观察者。 |
| RdbStore |off(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;| 从数据库中删除指定类型的指定观察者,结果以callback形式返回。<br/>-&nbsp;type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-&nbsp;observer:指已注册的数据更改观察者。 |
## 开发步骤
......
......@@ -1185,12 +1185,12 @@ finishCommonEvent(callback: AsyncCallback\<void\>): void
var subscriber; //创建成功的订阅者对象
//结束当前有序公共事件的回调
function finishCommonEventCallback() {
function finishCommonEventCallback(err) {
if (err.code) {
console.error("finishCommonEvent failed " + JSON.stringify(err));
} else {
} else {
console.info("FinishCommonEvent");
}
}
}
subscriber.finishCommonEvent(finishCommonEventCallback);
```
......
......@@ -31,7 +31,7 @@ createDistributedObject(source: object): DistributedObject
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
// 创建对象,对象包含4个属性类型,string,number,boolean和Object
var g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false,
parent:{mother:"jack mom",father:"jack Dad"}});
......@@ -53,7 +53,7 @@ genSessionId(): string
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
var sessionId = distributedObject.genSessionId();
```
......@@ -85,7 +85,7 @@ setSessionId(sessionId?: string): boolean
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false,
parent:{mother:"jack mom",father:"jack Dad"}});
//g_object加入分布式组网
......@@ -111,7 +111,7 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array&lt;stri
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false,
parent:{mother:"jack mom",father:"jack Dad"}});
g_object.on("change", function (sessionId, changeData) {
......@@ -136,22 +136,22 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array&lt;st
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 事件类型,固定为'change',表示数据变更。 |
| callback | Callback<{ sessionId: string, fields: Array&lt;string&gt; }> | 否 | 需要删除的变更回调,若不设置则删除该对象所有的变更回调。<br>sessionId:标识变更对象的sessionId; <br>fields:标识对象变更的属性名。 |
| callback | Callback<{ sessionId: string, fields: Array&lt;string&gt; }> | 否 | 需要删除的变更回调,若不设置则删除该对象所有的数据变更回调。<br>sessionId:标识变更对象的sessionId; <br>fields:标识对象变更的属性名。 |
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false,
parent:{mother:"jack mom",father:"jack Dad"}});
g_object.on("change", function (sessionId, changeData) {
console.info("change" + sessionId);
});
//删除变更回调changeCallback
//删除数据变更回调changeCallback
g_object.off("change", function (sessionId, changeData) {
console.info("change" + sessionId);
});
//删除所有的变更回调
//删除所有的数据变更回调
g_object.off("change");
```
......@@ -171,10 +171,10 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false,
parent:{mother:"jack mom",father:"jack Dad"}});
g_object.on("status", function (sessionId, networkid, status) {
g_object.on("status", function (sessionId, networkId, status) {
this.response += "status changed " + sessionId + " " + status + " " + networkId;
});
```
......@@ -197,7 +197,7 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s
**示例:**
```js
import distributedObject from '@ohos.data.distributedDataObject'
import distributedObject from '@ohos.data.distributedDataObject';
g_object.on("status", function (sessionId, networkId, status) {
this.response += "status changed " + sessionId + " " + status + " " + networkId;
});
......
......@@ -684,7 +684,7 @@ subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, c
function subscribeCallback(err) {
console.info("==========================>subscribeCallback=======================>");
}
function onConsumeCallback(err, data) {
function onConsumeCallback(data) {
console.info("==========================>onConsumeCallback=======================>");
}
var subscriber = {
......@@ -719,7 +719,7 @@ subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>):
function subscribeCallback(err) {
console.info("==========================>subscribeCallback=======================>");
}
function onConsumeCallback(err, data) {
function onConsumeCallback(data) {
console.info("==========================>onConsumeCallback=======================>");
}
var subscriber = {
......@@ -748,7 +748,7 @@ subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo):
**示例:**
```js
function onConsumeCallback(err, data) {
function onConsumeCallback(data) {
console.info("==========================>onConsumeCallback=======================>");
}
var subscriber = {
......@@ -782,7 +782,7 @@ unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>)
function unsubscribeCallback(err) {
console.info("==========================>unsubscribeCallback=======================>");
}
function onConsumeCallback(err, data) {
function onConsumeCallback(data) {
console.info("==========================>onConsumeCallback=======================>");
}
var subscriber = {
......@@ -810,7 +810,7 @@ unsubscribe(subscriber: NotificationSubscriber): Promise\<void\>
**示例:**
```js
function onConsumeCallback(err, data) {
function onConsumeCallback(data) {
console.info("==========================>onConsumeCallback=======================>");
}
var subscriber = {
......@@ -1176,7 +1176,7 @@ var bundle = {
var notificationSlot = {
type: Notification.SlotType.SOCIAL_COMMUNICATION
}
Notification.displayBadge(bundle, notificationSlot).then(() => {
Notification.setSlotByBundle(bundle, notificationSlot).then(() => {
console.info("==========================>setSlotByBundleCallback=======================>");
});
```
......@@ -1263,7 +1263,7 @@ getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\<number\>): voi
**示例:**
```js
function getSlotNumByBundle(err, data) {
function getSlotNumByBundleCallback(err, data) {
console.info("==========================>getSlotNumByBundleCallback=======================>");
}
var bundle = {
......@@ -1391,6 +1391,8 @@ remove(hashCode: string, callback: AsyncCallback\<void\>): void
**示例:**
```js
var hashCode = 'hashCode'
function removeCallback(err) {
console.info("==========================>removeCallback=======================>");
}
......@@ -1417,6 +1419,8 @@ remove(hashCode: string): Promise\<void\>
**示例:**
```js
var hashCode = 'hashCode'
Notification.remove(hashCode).then(() => {
console.info("==========================>removeCallback=======================>");
});
......@@ -2182,11 +2186,11 @@ requestEnableNotification(callback: AsyncCallback\<void\>): void
**示例:**
```javascript
function requestEnabledNotificationCallback() {
function requestEnableNotificationCallback() {
console.log('------------- requestEnabledNotification --------------');
};
Notification.requestEnableNotification(requestEnabledNotificationCallback);
Notification.requestEnableNotification(requestEnableNotificationCallback);
```
......@@ -2285,7 +2289,7 @@ function isDistributedEnabledCallback() {
console.log('----------- isDistributedEnabled ------------');
};
Notification.enableDistributed(isDistributedEnabledCallback);
Notification.isDistributedEnabled(isDistributedEnabledCallback);
```
......@@ -2404,7 +2408,7 @@ var bundle = {
bundle: "bundleName1",
}
Notification.enableDistributedByBundle(bundle, isDistributedEnabledByBundleCallback);
Notification.isDistributedEnabledByBundle(bundle, isDistributedEnabledByBundleCallback);
```
......@@ -2534,7 +2538,7 @@ let notificationRequest = {
}
}
Notification.publishAsBundle(notificationRequest, representativeBundle, userId, publishCallback);
Notification.publishAsBundle(notificationRequest, representativeBundle, userId, publishAsBundleCallback);
```
## Notification.publishAsBundle<sup>9+</sup>
......@@ -2609,7 +2613,7 @@ let representativeBundle = "com.example.demo"
// 接收通知的用户ID
let userId = 100
Notification.cancelAsBundle(0, representativeBundle, userId, publishCallback);
Notification.cancelAsBundle(0, representativeBundle, userId, cancelAsBundleCallback);
```
## Notification.cancelAsBundle<sup>9+</sup>
......@@ -2676,12 +2680,12 @@ function onConsumeCallback(data) {
let wantAgent = data.wantAgent;
wantAgent .getWant(wantAgent)
.then((data1) => {
console.log('===> getWant success want:' + JSON.stringfy(data1));
console.log('===> getWant success want:' + JSON.stringify(data1));
})
.catch((err) => {
console.error('===> getWant failed because' + JSON.stringfy(err));
console.error('===> getWant failed because' + JSON.stringify(err));
});
console.info('===> onConsume callback req.wantAgent:' + JSON.stringfy(req.wantAgent));
console.info('===> onConsume callback req.wantAgent:' + JSON.stringify(req.wantAgent));
};
var subscriber = {
......@@ -2916,14 +2920,10 @@ function subscribeCallback(err) {
}
};
function onEnabledNotificationChangedCallback(err, callbackData) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
function onEnabledNotificationChangedCallback(callbackData) {
console.info("bundle: ", callbackData.bundle);
console.info("uid: ", callbackData.uid);
console.info("enable: ", callbackData.enable);
}
};
var subscriber = {
......@@ -3212,7 +3212,7 @@ Notification.subscribe(subscriber, subscribeCallback);
| lightEnabled | 是 | 是 | boolean | 否 | 是否闪灯。 |
| lightColor | 是 | 是 | number | 否 | 通知灯颜色。 |
| vibrationValues | 是 | 是 | Array\<number\> | 否 | 通知振动样式。 |
| enabled | 是 | 否 | boolean | 否 | 此通知插槽中的启停状态。 |
| enabled<sup>9+</sup> | 是 | 否 | boolean | 否 | 此通知插槽中的启停状态。 |
## NotificationSorting
......
......@@ -159,7 +159,6 @@ requestRight(deviceName: string): Promise&lt;boolean&gt;
});
```
## usb.claimInterface
claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): number
......@@ -244,18 +243,18 @@ setConfiguration(pipe: USBDevicePipe, config: USBConfig): number
console.log(`setConfiguration = ${ret}`);
```
## usb.setInterface
setInterface(pipe: USBDevicePipe, iface: USBInterface): number
设置设备接口。
需要调用[usb.getDevices](#usbgetdevices)获取设备列表以及interfaces;调用[usb.requestRight](#usbrequestright)获取设备请求权限;调用[usb.connectDevice](#usbconnectdevice)得到devicepipe作为参数。
需要调用[usb.getDevices](#usbgetdevices)获取设备列表以及interfaces;调用[usb.requestRight](#usbrequestright)获取设备请求权限;调用[usb.connectDevice](#usbconnectdevice)得到devicepipe作为参数;调用[usb.claimInterface](#usbclaiminterface)注册通信接口
**系统能力:** SystemCapability.USB.USBManager
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 |
......@@ -272,7 +271,6 @@ setInterface(pipe: USBDevicePipe, iface: USBInterface): number
console.log(`setInterface = ${ret}`);
```
## usb.getRawDescriptor
getRawDescriptor(pipe: USBDevicePipe): Uint8Array
......@@ -289,9 +287,9 @@ getRawDescriptor(pipe: USBDevicePipe): Uint8Array
| pipe | [USBDevicePipe](#usbdevicepipe) | 是 | 用于确定总线号和设备地址。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回获取的原始数据。 |
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回获取的原始数据;失败返回undefined。 |
**示例:**
```js
......@@ -318,7 +316,7 @@ getFileDescriptor(pipe: USBDevicePipe): number
| 类型 | 说明 |
| -------- | -------- |
| number | 返回设备对应的文件描述符。 |
| number | 返回设备对应的文件描述符;失败返回-1。 |
**示例:**
```js
......
......@@ -100,7 +100,7 @@ getWorkStatus(workId: number, callback : AsyncCallback\<WorkInfo>): void
```
workScheduler.getWorkStatus(50, (err, res) => {
if (err) {
console.info('workschedulerLog getWorkStatus failed, because:' + err.data);
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
} else {
for (let item in res) {
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
......@@ -136,7 +136,7 @@ getWorkStatus(workId: number): Promise\<WorkInfo>
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
}
}).catch((err) => {
console.info('workschedulerLog getWorkStatus failed, because:' + err.data);
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
})
```
......@@ -164,7 +164,7 @@ obtainAllWorks(callback : AsyncCallback\<void>): Array\<WorkInfo>
```
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
} else {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}
......@@ -190,7 +190,7 @@ obtainAllWorks(): Promise<Array\<WorkInfo>>
workScheduler.obtainAllWorks().then((res) => {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}).catch((err) => {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
})
```
......@@ -233,7 +233,7 @@ isLastWorkTimeOut(workId: number, callback : AsyncCallback\<void>): boolean
```
workScheduler.isLastWorkTimeOut(500, (err, res) =>{
if (err) {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.data);
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
} else {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
}
......@@ -267,7 +267,7 @@ isLastWorkTimeOut(workId: number): Promise\<boolean>
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
})
.catch(err => {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.data);
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
});
```
......
......@@ -38,6 +38,7 @@ Text(content?: string)
| decoration | {<br/>type:&nbsp;TextDecorationType,<br/>color?:&nbsp;Color<br/>} | {<br/>type:&nbsp;TextDecorationType.None,<br/>color: Color.Black<br/>} | 设置文本装饰线样式及其颜色。 |
| baselineOffset | Length | - | 设置文本基线的偏移量。 |
| textCase | TextCase | TextCase.Normal | 设置文本大小写。 |
| copyOption<sup>9+</sup> | boolean\|CopyOption | false | 组件支持设置文本是否可复制粘贴。 |
- TextAlign枚举说明
| 名称 | 描述 |
......@@ -62,12 +63,21 @@ Text(content?: string)
| None | 不使用文本装饰线。 |
- TextCase枚举说明
| 名称 | 描述 |
| -------- | -------- |
| --------- | -------------------- |
| Normal | 保持文本原有大小写。 |
| LowerCase | 文本采用全小写。 |
| UpperCase | 文本采用全大写。 |
- CopyOption<sup>9+</sup>枚举说明
| 名称 | 描述 |
| -------- | -------- |
| InApp | 支持应用内复制粘贴。 |
| LocalDevice | 支持设备内复制粘贴。 |
| CrossDevice | 支持跨设备复制粘贴。 |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 不支持Text内同时存在文本内容和Span子组件。如果同时存在,只显示Span内的内容。
......
......@@ -115,7 +115,7 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
workScheduler.getWorkStatus(50, (err, res) => {
if (err) {
console.info('workschedulerLog getWorkStatus failed, because:' + err.data);
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
} else {
for (let item in res) {
console.info('workschedulerLog getWorkStatuscallback success,' + item + ' is:' + res[item]);
......@@ -131,7 +131,7 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
}
}).catch((err) => {
console.info('workschedulerLog getWorkStatus failed, because:' + err.data);
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
})
......@@ -141,7 +141,7 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
} else {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}
......@@ -152,7 +152,7 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
workScheduler.obtainAllWorks().then((res) => {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}).catch((err) => {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
})
**停止并清除任务**
......@@ -166,7 +166,7 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
workScheduler.isLastWorkTimeOut(500, (err, res) =>{
if (err) {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.data);
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
} else {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
}
......@@ -179,6 +179,6 @@ function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
})
.catch(err => {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.data);
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
});
})
\ No newline at end of file
......@@ -417,7 +417,7 @@ default: // Bad: default 未缩进
// 假设下面第一行已经不满足行宽要求
```cpp
if ((currentValue > threshold) && // Good:换行后,逻辑操作符放在行尾
someConditionsion) {
someCondition) {
DoSomething();
...
}
......
......@@ -5,8 +5,8 @@
| Feature | Docs Reviewers |
| ------------ | ------------------------------------------------------------ |
| 快速入门 | [@duangavin123](https://gitee.com/duangavin123) |
| 获取源码 | [@duangavin123](https://gitee.com/duangavin123) |
| 快速入门 | [@duangavin123](https://gitee.com/duangavin123_admin) |
| 获取源码 | [@duangavin123](https://gitee.com/duangavin123_admin) |
| 内核 | [@Austin23](https://gitee.com/Austin23) |
| 驱动 | [@Qianchenya](https://gitee.com/Qianchenya) |
| 设备开发指南 | [@Austin23](https://gitee.com/Austin23) |
......
# xxx子系统/部件
【标题说明】根据当前Readme的类型,使用 **子系统**或者 **部件**
【标题说明】根据当前Readme的类型,使用**子系统**或者**部件**
![子系统readme](figures/figure01.png)
......@@ -10,13 +10,13 @@
## 简介
【写作要求】 必选**,简介中包含2部分内容: **内容介绍、架构图介绍。
【写作要求】 **必选****简介中包含2部分内容**内容介绍、架构图介绍。
**内容介绍:**从以下几个方面介绍该子系统:出现背景(在整个OpenHarmony架构中的作用)、实现的功能、使用场景、支持的设备等。
**内容介绍**从以下几个方面介绍该子系统:出现背景(在整个OpenHarmony架构中的作用)、实现的功能、使用场景、支持的设备等。
**架构图:**使用架构图说明该子系统【部件】架构,对架构中的主要组成部分进行必要的解释说明
**架构图**使用架构图说明该子系统【部件】架构,对架构中的主要组成部分进行必要的解释说明
**如果本部件仓库只是子系统一部分,需要理解子系统相关概念,建议给出:**
**如果本部件仓库只是子系统一部分,需要理解子系统相关概念,建议给出**
**更多XXX子系统相关概念,请参考:xxx。(给出到子系统readme的链接)**
......@@ -56,13 +56,14 @@
架构图参考如下,注意需要绘图的 **颜色,格式有规范要求**,请参照:
**图1** 子系统架构图
![架构图](figures/figure02.png)
## 目录
【写作要求】 必选**,明确本项目仓的代码 **目录结构**以及对应目录的 **功能描述
【写作要求】 **必选****明确本项目仓的代码**目录结构**以及对应目录的**功能描述
```undefined
/foundation/ace
......@@ -94,7 +95,7 @@
## 编译构建/使用方法
【写作要求】 可选,子系统Readme不需要提供,对于部件仓的Readme,根据实际情况,提供编译构建的说明。
【写作要求】 **可选** ,子系统Readme不需要提供,对于部件仓的Readme,根据实际情况,提供编译构建的说明。
## 说明
......@@ -149,4 +150,4 @@
[drivers\_liteos](https://gitee.com/openharmony/drivers_liteos/blob/master/README_zh.md)
**kernel\_liteos\_a**
\ No newline at end of file
[**kernel\_liteos\_a**](https://gitee.com/openharmony/kernel_liteos_a/blob/master/README_zh.md)
\ No newline at end of file
......@@ -50,7 +50,7 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
#### **部件名**
英文名:名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用小写加下划线的内核风格命名,例如:unix_like。
英文名:名词形式,需体现部件的功能,在系统内全局唯一,不超过63个有效英文字符,使用小写加下划线的内核风格命名,例如:unix_like。<br>
中文名:名词形式,需体现部件的功能,不超过16个中文字符,不建议中英文混合。
#### **仓名**
......@@ -59,7 +59,7 @@ OpenHarmony参考机械装配领域的零部件的概念将系统能力抽象为
> 说明:
>
> 1)部件和仓原则上是一一对应关系,特性情况下多个部件可以共享一个仓,但部件的目录必独立。
> 1)部件和仓原则上是一一对应关系,特性情况下多个部件可以共享一个仓,但部件的目录必独立。
>
> 2)三方开源的部件名保持三方原始的命名,仓名前添加“third_party”前缀。三方开源部件统一放到third_party目录下。
>
......
......@@ -10,7 +10,7 @@
**图1** 用户认证功能整体框架
<img src="figures/用户认证功能整体框架图.png" alt="image" title="用户认证功能整体框架图" style="zoom:67%;" />
![image](figures/用户认证功能整体框架图.png "用户认证功能整体框架图")
### 基本概念
用户认证框架与各个基础认证服务(包含口令认证、人脸识别等)组成的身份认证系统,支持用户认证凭据设置、删除、认证等基础功能。
......@@ -83,7 +83,7 @@ User_auth驱动主要工作是屏蔽不同安全器件和安全环境的差异
**图2** User_auth服务和User_auth驱动交互
<img src="figures/用户认证服务和userauth驱动接口.png" alt="image" title="用户认证服务和userauth驱动接口" style="zoom:67%;" />
![image](figures/用户认证服务和userauth驱动接口.png "用户认证服务和userauth驱动接口")
### 约束与限制
......
......@@ -21,11 +21,11 @@
- [C++支持](kernel-mini-extend-support.md)
- [CPU占用率](kernel-mini-extend-cpup.md)
- [动态加载](kernel-mini-extend-dynamic-loading.md)
- [文件系统](kernel-mini-extend-file.md)
- 文件系统
- [FAT](kernel-mini-extend-file-fat.md)
- [LittleFS](kernel-mini-extend-file-lit.md)
- 内核调测
- [内存调测](kernel-mini-memory-debug.md)
- 内存调测
- [内存信息统计](kernel-mini-memory-debug-mes.md)
- [内存泄漏检测](kernel-mini-memory-debug-det.md)
- [踩内存检测](kernel-mini-memory-debug-cet.md)
......@@ -70,7 +70,7 @@
- [动态加载与链接](kernel-small-bundles-linking.md)
- [虚拟动态共享库](kernel-small-bundles-share.md)
- [轻量级进程间通信](kernel-small-bundles-ipc.md)
- [文件系统](kernel-small-bundles-fs.md)
- 文件系统
- [虚拟文件系统](kernel-small-bundles-fs-virtual.md)
- 支持的文件系统
- [FAT](kernel-small-bundles-fs-support-fat.md)
......@@ -176,8 +176,8 @@
- [Linux内核概述](kernel-standard-overview.md)
- [OpenHarmony开发板Patch使用指导](kernel-standard-patch.md)
- [Linux内核编译与构建指导](kernel-standard-build.md)
- [内核增强特性](kernel-standard-enhanced-features.md)
- 内核增强特性
- [Enhanced SWAP特性介绍](kernel-standard-mm-eswap.md)
- [任务调度](kernel-standard-sched.md)
- 任务调度
- [关联线程组调度](kernel-standard-sched-rtg.md)
- [CPU轻量级隔离](kernel-standard-sched-cpuisolation.md)
......@@ -71,7 +71,7 @@
- [应用验签开发指导](subsys-security-sigverify.md)
- [应用权限管理开发指导](subsys-security-rightmanagement.md)
- [IPC通信鉴权开发指导](subsys-security-communicationverify.md)
- [设备安全等级管理开发指](subsys-security-devicesecuritylevel.md)
- [设备安全等级管理开发指](subsys-security-devicesecuritylevel.md)
- 启动恢复
- [启动恢复子系统概述](subsys-boot-overview.md)
- [init启动引导组件](subsys-boot-init.md)
......
......@@ -32,7 +32,7 @@
### 运作机制
OpenHarmony的编译构建流程主要包括编译命令行解析,调用gn,执行ninja:
OpenHarmony的编译构建流程主要包括编译命令行解析,调用gn,执行ninja:
- 命令行解析:解析待编译的产品名称,加载相关配置。
......
# 设备安全等级管理开发指
# 设备安全等级管理开发指
## 概述
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册