提交 18f928a0 编写于 作者: D duangavin123

Signed-off-by: duangavin123 <duanxichao@huawei.com>

Merge branch 'master' of https://gitee.com/duangavin123/docs
......@@ -107,7 +107,7 @@ Obtains the size of the shared dirty memory of this process.
- **Example**
```
let sharedDirty = hidebug.getSharedDirty());
let sharedDirty = hidebug.getSharedDirty();
```
......
# 应用开发
- [应用开发导读](application-dev-guide.md)
- [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md)
- [包结构说明](quick-start/package-structure.md)
- [Ability框架](ability/Readme-CN.md)
- 方舟开发框架(ArkUI)
- [基于JS扩展的类Web开发范式](ui/ui-arkui-js.md)
- [基于TS扩展的声明式开发范式](ui/ui-arkui-ts.md)
- [后台代理提醒](background-agent-scheduled-reminder/Readme-CN.md)
- [后台任务管理](background-task-management/Readme-CN.md)
- [媒体](media/Readme-CN.md)
- [安全](security/Readme-CN.md)
- [网络与连接](connectivity/Readme-CN.md)
- [数据管理](database/Readme-CN.md)
- [USB服务](usb/Readme-CN.md)
- [DFX](dfx/Readme-CN.md)
- [WebGL](webgl/Readme-CN.md)
- [开发参考](reference/Readme-CN.md)
- 了解OpenHarmony
- [了解OpenHarmony开源项目](../OpenHarmony-Overview_zh.md)
- [了解OpenHarmony系统](../readme)
- [术语](../device-dev/glossary/glossary.md)
- [版本说明](../release-notes/Readme.md)
- 快速开始
- [应用开发快速入门](quick-start/Readme-CN.md)
- [应用开发包结构说明](quick-start/package-structure.md)
- 开发
- [Ability开发](ability/Readme-CN.md)
- [UI开发](ui/Readme-CN.md)
- 基础功能开发
- [后台代理提醒](background-agent-scheduled-reminder/Readme-CN.md)
- [后台任务管理](background-task-management/Readme-CN.md)
- [媒体](media/Readme-CN.md)
- [安全](security/Readme-CN.md)
- [网络与连接](connectivity/Readme-CN.md)
- [数据管理](database/Readme-CN.md)
- [USB服务](usb/Readme-CN.md)
- [DFX](dfx/Readme-CN.md)
- 工具
- [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md)
- 示例教程
- [示例代码](https://gitee.com/openharmony/app_samples/blob/master/README_zh.md)
- [Codelabs](https://gitee.com/openharmony/codelabs/blob/master/README.md)
- API参考
- [组件参考(基于JS扩展的类Web开发范式)](reference/arkui-js/Readme-CN.md)
- [组件参考(基于TS扩展的声明式开发范式)](reference/arkui-ts/Readme-CN.md)
- [接口参考](reference/apis/Readme-CN.md)
- 贡献
- [参与贡献](../contribute/贡献文档.md)
\ No newline at end of file
......@@ -28,6 +28,10 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number): Pro
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -68,13 +72,17 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, call
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| bundleName | string | 是 | 要查询的应用程序包名称。 |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| callback | AsyncCallback\<ApplicationInfo> | 是 | 程序启动作为入参的回调函数,返回应用程序信息。 |
**示例:**
......@@ -104,6 +112,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise<Array\<Bundle
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -142,6 +154,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array\<BundleIn
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -173,6 +189,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -207,6 +227,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions):
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -250,6 +274,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -283,6 +311,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, c
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -321,12 +353,16 @@ getAllApplicationInfo(bundleFlags: number, userId: number): Promise<Array\<Appli
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----------- | ------ | ---- | ------------------------------------------------------ |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
**返回值:**
......@@ -353,18 +389,22 @@ bundle.getAllApplicationInfo(bundleFlags, userId)
getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array\<ApplicationInfo>>): void
获取指定用户下所有已安装的应用信息,通过回调函数获取返回值
获取指定用户下所有已安装的应用信息,使用callback形式返回结果
**需要权限:**
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----------- | -------------------------------------- | ---- | ------------------------------------------------------ |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。|
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| callback | AsyncCallback<Array\<ApplicationInfo>> | 是 | 程序启动作为入参的回调函数,返回应用信息列表。 |
**示例:**
......@@ -393,6 +433,10 @@ queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise<Ar
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -500,6 +544,10 @@ getBundleInstaller(): Promise<BundleInstaller>
ohos.permission.INSTALL_BUNDLE
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**返回值:**
| 类型 | 说明 |
......@@ -539,6 +587,10 @@ getBundleInstaller(callback: AsyncCallback<BundleInstaller>): void;
ohos.permission.INSTALL_BUNDLE
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -579,6 +631,10 @@ getLaunchWantForBundle(bundleName: string): Promise\<Want>
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -612,6 +668,10 @@ getLaunchWantForBundle(bundleName: string, callback: AsyncCallback<Want>): void;
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:**
| 名称 | 类型 | 必填 | 描述 |
......@@ -731,7 +791,6 @@ bundle.getNameForUid(uid, (err, data) => {
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| userId | number | 是 | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| networkId | string | 是 | 是 | 网络Id,默认值:null。 |
## BundleInfo
......@@ -746,7 +805,7 @@ bundle.getNameForUid(uid, (err, data) => {
| installTime | number | 是 | 否 | HAP包安装时间 |
| updateTime | number | 是 | 否 | HAP包更新时间 |
| appInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 |
| abilityInfo | Array<AbilityInfo> | 是 | 否 | Ability的配置信息 |
| abilityInfos | Array<AbilityInfo> | 是 | 否 | Ability的配置信息 |
| reqPermissions | Array<string> | 是 | 否 | 应用运行时需向系统申请的权限集合 |
| reqPermissionDetails | Array<ReqPermissionDetail> | 是 | 否 | 应用运行时需向系统申请的权限集合的详细信息 |
| vendor | string | 是 | 否 | 应用包的供应商 |
......@@ -755,7 +814,7 @@ bundle.getNameForUid(uid, (err, data) => {
| compatibleVersion | number | 是 | 否 | 运行应用包所需要最低的SDK版本号 |
| targetVersion | number | 是 | 否 | 运行应用包所需要最高SDK版本号 |
| isCompressNativeLibs | boolean | 是 | 否 | 是否压缩应用包的本地库,默认为true |
| hapModuleInfo | Array<HapModuleInfo> | 是 | 否 | 模块的配置信息 |
| hapModuleInfos | Array<HapModuleInfo> | 是 | 否 | 模块的配置信息 |
| entryModuleName | string | 是 | 否 | Entry的模块名称 |
| cpuAbi | string | 是 | 否 | 应用包的cpuAbi信息 |
| isSilentInstallation | string | 是 | 否 | 是否通过静默安装 |
......@@ -882,13 +941,7 @@ Ability信息
| readPermission | string | 是 | 否 | 读取Ability数据所需的权限 |
| writePermission | string | 是 | 否 | 向Ability写数据所需的权限 |
| applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 |
| formEntity | number | 是 | 否 | 显示表单的位置 |
| minFormHeight | number | 是 | 否 | Ability的最小高度 |
| defaultFormHeight | number | 是 | 否 | Ability的默认高度 |
| minFormWidth | number | 是 | 否 | Ability的最小宽度 |
| defaultFormWidth | number | 是 | 否 | Ability的默认宽度 |
| uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI) |
| customizeData | Map<string, Array<CustomizeData>> | 是 | 是 | Ability的自定义数据 |
| labelId | number | 是 | 否 | Ability的标签id |
| subType | AbilitySubType | 是 | 否 | Ability中枚举使用的模板的子类型 |
| metaData | Array<Metadata> | 是 | 否 | ability的自定义元信息 |
......@@ -922,7 +975,7 @@ Ability类型
| 名称 | 类型 | 说明 |
| ----------- | ---- | ------------------- |
| UNSPECIFIED | 0 | Ability只有一个示例 |
| SINGLETON | 0 | Ability只有一个示例 |
| STANDARD | 1 | Ability有多个示例 |
## AbilitySubType
......
......@@ -9,15 +9,15 @@
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
**系统能力:** SystemCapability.Security.AccessToken
**返回值:**
| 类型 | 说明 |
......@@ -40,6 +40,8 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat
校验应用是否授予权限,使用Promise方式异步返回结果。
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -56,7 +58,7 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
......@@ -70,7 +72,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
......@@ -89,7 +93,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
......@@ -105,7 +109,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
......@@ -119,7 +125,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
......@@ -133,7 +139,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
......@@ -152,7 +160,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
......@@ -167,7 +175,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
......@@ -181,7 +191,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
......@@ -194,6 +204,8 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
**系统能力:** SystemCapability.Security.AccessToken
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -210,7 +222,7 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
......@@ -222,6 +234,8 @@ promise.then(data => {
表示授权状态的枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 |
| ----------------------------- | ---------------------- | ----------------------- |
| PERMISSION_DENIED | -1 | 表示未授权。 |
......
......@@ -1366,15 +1366,17 @@ getAuthenticatorCallback(sessionId: string, callback: AsyncCallback&lt;Authentic
```
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant((err, want) => {
var sessionId = want.parameters[Constants.KEY_SESSION_ID];
var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {
if (err.code != ResultCode.SUCCESS) {
if (err.code != account_appAccount.ResultCode.SUCCESS) {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
return;
}
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"};
callback.OnResult(ResultCode.SUCCESS, result);
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
});
});
```
......@@ -1402,11 +1404,13 @@ getAuthenticatorCallback(sessionId: string): Promise&lt;AuthenticatorCallback&gt
```
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant().then((want) => {
var sessionId = want.parameters[Constants.KEY_SESSION_ID];
var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"};
callback.OnResult(ResultCode.SUCCESS, result);
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
});
......@@ -1561,9 +1565,11 @@ onResult: (code: number, result: {[key: string]: any}) =&gt; void;
const appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"};
callback.OnResult(ResultCode.SUCCESS, result);
var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
});
......@@ -1592,8 +1598,10 @@ onRequestRedirected: (request: Want) =&gt; void;
}
authenticate(name, authType, callerBundleName, options, callback) {
var result = {Constants.KEY_NAME: name, Constants.KEY_AUTH_TYPE: authType, Constants.KEY_TOKEN: "xxxxxx"};
callback.onResult(ResultCode.SUCCESS, result);
var result = {[account_appAccount.Constants.KEY_NAME]: name,
[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
}
}
```
......@@ -1643,8 +1651,10 @@ authenticate(name: string, authType: string, callerBundleName: string, options:
}
authenticate(name, authType, callerBundleName, options, callback) {
var result = {Constants.KEY_NAME: name, Constants.KEY_AUTH_TYPE: authType, Constants.KEY_TOKEN: "xxxxxx"};
callback.onResult(ResultCode.SUCCESS, result);
var result = {[account_appAccount.Constants.KEY_NAME]: name,
[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
}
}
......
......@@ -73,7 +73,7 @@ function queryFaultLogCallback(error, value) {
}
}
}
faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH, queryFaultLogCallback);
faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
```
## faultLogger.querySelfFaultLog
......@@ -97,20 +97,22 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g
**示例:**
```
let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log ts: " + value[i].ts);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
async function getLog() {
let value = await faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log ts: " + value[i].ts);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
}
```
\ No newline at end of file
```
......@@ -68,7 +68,7 @@ add(element: T): boolean
```
let linkedList = new LinkedList();
let result = linkedList.add("a");
let result = linkedList.add(1);
let result1 = linkedList.add(1);
let b = [1, 2, 3];
linkedList.add(b);
let c = {name : "lala", age : "13"};
......
......@@ -387,7 +387,7 @@ removeOsAccount(localId: number, callback: AsyncCallback&lt;void&gt;): void
var createIocalId;
osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
createIocalId = osAccountInfo.localId;
)};
});
accountManager.removeOsAccount(createIocalId, (err)=>{
console.log("removeOsAccount err:" + JSON.stringify(err));
});
......@@ -418,7 +418,7 @@ removeOsAccount(localId: number): Promise&lt;void&gt;
var createIocalId;
osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
createIocalId = osAccountInfo.localId;
)};
});
createIocalId = osAccount.localId;
accountManager.removeOsAccount(createIocalId).then(() => {
console.log('removeOsAccount Success');
......
......@@ -117,7 +117,7 @@ let result = plainArray.get(1);
getIndexOfKey(key: number): number;
查找指定key第一次出现的下标值,如果没有找到该元素返回-1。
查找指定key第一次出现的下标值,如果没有找到该key返回-1。
**参数:**
......@@ -145,19 +145,19 @@ let result = plainArray.getIndexOfKey("sdfs");
getIndexOfValue(value: T): number;
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。
查找指定value元素第一次出现的下标值,如果没有找到该value元素返回-1。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素。 |
| value | T | 是 | 指定value元素。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 |
| number | 返回指定value元素第一次出现时的下标值,查找失败返回-1。 |
**示例:**
......
......@@ -9,19 +9,16 @@
## 导入模块
```
import runninglock from '@ohos.runningLock';
import runningLock from '@ohos.runningLock';
```
## 系统能力
SystemCapability.PowerManager.PowerManager.Core
## RunningLockType
RunningLock锁的类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.PowerManager.PowerManager.Core
| 名称 | 默认值 | 描述 |
| ------------------------ | ---- | ------------------- |
| BACKGROUND | 1 | 阻止系统休眠的锁。 |
......@@ -34,6 +31,8 @@ isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback&lt;boo
查询系统是否支持该类型的锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -60,6 +59,8 @@ isRunningLockTypeSupported(type: RunningLockType): Promise&lt;boolean&gt;
查询系统是否支持该类型的锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -91,7 +92,9 @@ createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback&l
创建RunningLock锁。
**需要权限:**ohos.permission.RUNNING_LOCK
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**参数:**
......@@ -124,7 +127,9 @@ createRunningLock(name: string, type: RunningLockType): Promise&lt;RunningLock&g
创建Runninglock锁。
**需要权限:**ohos.permission.RUNNING_LOCK
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**参数:**
......@@ -163,6 +168,8 @@ lock(timeout: number): void
锁定和持有RunningLock。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -189,6 +196,8 @@ unlock(): void
释放Runninglock锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**示例:**
```
......@@ -209,6 +218,8 @@ isUsed(): boolean
查询当前Runninglock是持有状态还是释放状态。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------------------- |
......
......@@ -6,7 +6,7 @@
## 导入模块
```js
import storagestatistics from "@ohos.storagestatistics";
import storagestatistics from "@ohos.storageStatistics";
```
## 系统能力
......@@ -61,9 +61,10 @@ getTotalSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):v
let uuid = "";
storagestatistics.getTotalSizeOfVolume(uuid, function(error, number){
// do something
console.info("getTotalSizeOfVolume successfully:"+ number);
});
```
## storagestatistics.getFreeSizeOfVolume
......@@ -115,22 +116,22 @@ getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):vo
let uuid = "";
storagestatistics.getFreeSizeOfVolume(uuid, function(error, number){
// do something
console.info("getFreeSizeOfVolume successfully:"+ number);
});
```
## storagestatistics.getBundleStats
## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(volumeUuid: string, packageName:String, ): Promise&lt;BundleStats&gt;
getBundleStats(packageName:String, ): Promise&lt;BundleStats&gt;
异步获取指定卷上的应用存储状态,以promise方式返回。
异步获取应用存储状态,以promise方式返回。
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | -------- |
| volumeUuid | string | 是 | 卷id |
| packageName | string | 是 | 应用包名 |
- 返回值
| 类型 | 说明 |
......@@ -140,35 +141,33 @@ getBundleStats(volumeUuid: string, packageName:String, ): Promise&lt;BundleStat
- 示例
```js
let uuid = "";
let packageName = "";
storagestatistics.getBundleStats(uuid, packageName).then(function(BundleStats){
storagestatistics.getBundleStats(packageName).then(function(BundleStats){
console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
}).catch(function(err){
console.info("getBundleStats failed with error:"+ err);
});
```
## storagestatistics.getBundleStats
## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(volumeUuid: string, callback:AsyncCallback&lt;BundleStats&gt;):void
getBundleStats(callback:AsyncCallback&lt;BundleStats&gt;):void
异步获取指定卷上的应用存储状态,以callback方式返回。
异步获取应用存储状态,以callback方式返回。
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | --------------------------------------------------------- | ---- | ------------------------------------ |
| volumeUuid | string | 是 | 卷id |
| callback | callback:AsyncCallback&lt;[Bundlestats](#bundlestats)&gt; | 是 | 获取指定卷上的应用存储状态之后的回调 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------ |
| callback | callback:AsyncCallback&lt;[Bundlestats](#bundlestats)&gt; | 是 | 获取指定卷上的应用存储状态之后的回调 |
- 示例
```js
let uuid = "";
let packageName = "";
storagestatistics.getBundleStats(uuid, packageName, function(error, BundleStats){
storagestatistics.getBundleStats(packageName, function(error, BundleStats){
// do something
console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
});
```
......
......@@ -114,8 +114,8 @@ has(element: T): boolean
let vector = new Vector();
let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
let result1 = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### getIndexOf
......
# Zip模块(JS端SDK接口)
## 使用限制
无。
## 导入模块
import zlib from '@ohos.zlib'
## zlib.zipFile
zipFile(inFile:string, outFile:string, options: Options): Promise<void>;
压缩接口(Promise形式)。
**系统能力:** SystemCapability.BundleManager.Zlib
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------- | ----------------------------------- | ---- | ------------------------------------------- |
| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径 |
| outFile | string | 是 | 指定的压缩结果的文件路径(文件的扩展名zip) |
| options | [Options](#options对象可选参数说明) | 否 | 压缩的可选参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ---------------------------------------------------- |
| Promise\<void> | ERROR_CODE_OK:压缩成功 ERROR_CODE_ERRNO:压缩失败 |
**示例1:**
```javascript
//【压缩文件 例子1】
import zlib from '@ohos.zlib'
var inFile = "/xxx/filename.xxx";
var outFile = "/xxx/xxx.zip";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.zipFile(inFile, outFile, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("zipFile OK");
} else {
console.log("zipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
```
**示例2:**
```
// 【压缩文件夹 例子2】
import zlib from '@ohos.zlib'
var inFile = "/xxx/xxx";
var outFile = "/xxx/xxx.zip";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.zipFile(inFile , unzipDir, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("zipFile OK");
} else {
console.log("zipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
```
## zlib.unzipFile
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>;
解压文件,解压完成返回执行结果(Promise形式)。
**系统能力:** SystemCapability.BundleManager.Zlib
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------- | ----------------------------------- | ---- | ----------------------------------- |
| inFile | string | 是 | 指定解压的文件路径(文件扩展名zip) |
| outFile | string | 是 | 指定的解压文件路径 |
| options | [Options](#options对象可选参数说明) | 否 | 解压的可选参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------------------------------------------ |
| Promise\<void> | ERROR_CODE_OK:解压成功 ERROR_CODE_ERRNO:解压失败返回执行结果。 |
**示例:**
```javascript
// 【解压例子1】
import zlib from '@ohos.zlib'
var inFile = "/xx/xxx.zip";
var outFile = "/xxx";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.unzipFile(inFile, outFile, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("unzipFile OK");
} else {
console.log("unzipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
})
```
## Options对象可选参数说明
| 参数 | |
| --------------------------- | ------------------------------------------------------------ |
| level?: CompressLeve | [参考zip.CompressLevel枚举定义](#zip.CompressLevel压缩等级可选参数说明) |
| memLevel?: MemLevel | [参考zip.MemLevel枚举定义](#zip.MemLevel可选参数说明) |
| strategy?: CompressStrategy | [参考zip.CompressStrategy枚举定义](#zip.CompressStrategy压缩策略可选参数说明) |
## zip.MemLevel可选参数说明
| MEM_LEVEL_MIN | zip 接口在压缩过程中最小使用内存 |
| ----------------- | -------------------------------- |
| MEM_LEVEL_MAX | zip 接口在压缩过程中最大使用内存 |
| MEM_LEVEL_DEFAULT | zip 接口在压缩过程中默认使用内存 |
## zip.CompressLevel压缩等级可选参数说明
| 参数 | 描述 |
| --------------------------------------- | ----------------- |
| COMPRESS_LEVEL_NO_COMPRESSION : 0 | 压缩率为0压缩等级 |
| COMPRESS_LEVEL_BEST_SPEED : 1 | 最佳速度压缩等级 |
| COMPRESS_LEVEL_BEST_COMPRESSION :9 | 最佳压缩等级 |
| COMPRESS_LEVEL_DEFAULT_COMPRESSION :-1 | 默认压缩等级 |
## zip.CompressStrategy压缩策略可选参数说明
| 参数 | 描述 |
| -------------------------------------- | ------------------------ |
| COMPRESS_STRATEGY_DEFAULT_STRATEGY : 0 | 常规数据策略 |
| COMPRESS_STRATEGY_FILTERED : 1 | 过滤器产生的数据压缩策略 |
| COMPRESS_STRATEGY_HUFFMAN_ONLY : 2 | 霍夫曼编码格式压缩策略 |
| OMPRESS_STRATEGY_RLE : 3 | 游标编码压缩策略 |
| COMPRESS_STRATEGY_FIXED : 4 | 固定的压缩策略 |
## zip.ErrorCode接口返回值参数说明
| 参数 | 描述 |
| -------------------- | ------------ |
| ERROR_CODE_OK: 0 | 函数调用成功 |
| ERROR_CODE_ERRNO:- 1 | 函数调用失败 |
......@@ -48,8 +48,10 @@ PageA跳转到PageB,跳转的共享元素为image, shareid为“shareImage
<div>
<list>
<list-item type="description">
<image src="item.jpg" shareid="shareImage" onclick="jump" class="shared-transition-style"></image>
<text onclick="jump">Click on picture to Jump to ths details</text>
<div>
<image src="item.jpg" shareid="shareImage" onclick="jump" class="shared-transition-style"></image>
<text onclick="jump">Click on picture to Jump to ths details</text>
</div>
</list-item>
</list>
</div>
......
......@@ -97,7 +97,6 @@
- [Swiper](ts-container-swiper.md)
- [Tabs](ts-container-tabs.md)
- [TabContent](ts-container-tabcontent.md)
- [SideBarContainer](ts-container-sidebarcontainer.md)
- [Refresh](ts-container-refresh.md)
- 媒体组件
- [Video](ts-media-components-video.md)
......
......@@ -42,7 +42,7 @@ Checkbox( name?: string, group?: string )
## 示例
```
@Entry
@Entry
@Component
struct CheckboxExample {
......
......@@ -53,17 +53,16 @@ RichText\(content:string\)
@Entry
@Component
struct RichTextExample {
@State data: string = '<h1 style='text-align: center;'>h1标题</h1>
<h1 style='text-align: center;'><i>h1斜体</i></h1>
<h1 style='text-align: center;'><u>h1下划线</u></h1>
<h2 style='text-align: center;'>h2标题</h2>
<h3 style='text-align: center;'>h3标题</h3>
<p style='text-align: center;'>p常规</p><hr/>
<div style='width: 500px;height: 500px;border: 1px solid;margin: 0auto;'>
<p style='font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)'>字体大小35px,行高45px</p>
<p style='background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;'>
这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字
这是一段文字</p></div>'
@State data: string = "<h1 style='text-align: center;'>h1标题</h1>" +
"<h1 style='text-align: center;'><i>h1斜体</i></h1>" +
"<h1 style='text-align: center;'><u>h1下划线</u></h1>" +
"<h2 style='text-align: center;'>h2标题</h2>" +
"<h3 style='text-align: center;'>h3标题</h3>" +
"<p style='text-align: center;'>p常规</p><hr/>" +
"<div style='width: 500px;height: 500px;border: 1px solid;margin: 0auto;'>" +
"<p style='font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)'>字体大小35px,行高45px</p>" +
"<p style='background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;'>" +
"<p>这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字</p>"
build() {
Flex({direction: FlexDirection.Column,alignItems: ItemAlign.Center,
......
......@@ -34,7 +34,7 @@
@Component
struct ImageEffectsExample {
build() {
Column({space10}) {
Column({space: 10}) {
// 对字体进行模糊
Text('font blur').fontSize(15).fontColor(0xCCCCCC).width('90%')
Text('text').blur(3).width('90%').height(40)
......
......@@ -19,7 +19,7 @@
| size | {<br/>width?:&nbsp;Length,<br/>height?:&nbsp;Length<br/>} | - | 设置高宽尺寸。 |
| padding | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}&nbsp;\|&nbsp;Length | 0 | 设置内边距属性。<br/>参数为Length类型时,四个方向内边距同时生效。 |
| margin | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}<br/>\|&nbsp;Length | 0 | 设置外边距属性。<br/>参数为Length类型时,四个方向外边距同时生效。 |
| constraintSize | {<br/>minWidth?:&nbsp;Length,<br/>maxWidth?:&nbsp;Length,<br/>minHeight?:&nbsp;Length,<br/>maxHeight?:&nbsp;Lenght<br/>} | {<br/>minWidth:&nbsp;0,<br/>maxWidth:&nbsp;Infinity,<br/>minHeight:&nbsp;0,<br/>maxHeight:&nbsp;Infinity<br/>} | 设置约束尺寸,组件布局时,进行尺寸范围限制。 |
| constraintSize | {<br/>minWidth?:&nbsp;Length,<br/>maxWidth?:&nbsp;Length,<br/>minHeight?:&nbsp;Length,<br/>maxHeight?:&nbsp;Length<br/>} | {<br/>minWidth:&nbsp;0,<br/>maxWidth:&nbsp;Infinity,<br/>minHeight:&nbsp;0,<br/>maxHeight:&nbsp;Infinity<br/>} | 设置约束尺寸,组件布局时,进行尺寸范围限制。 |
| layoutWeight | number | 0 | 容器尺寸确定时,元素与兄弟节点主轴布局尺寸按照权重进行分配,忽略本身尺寸设置。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;仅在Row/Column/Flex布局中生效。 |
......@@ -29,7 +29,6 @@
@Entry
@Component
struct SizeExample {
@StateitemWidth : number = 0 @StateitemHeight : number = 0
build() {
Column({ space: 10 }) {
Text('margin and padding:').fontSize(12).fontColor(0xCCCCCC).width('90%')
......@@ -55,10 +54,8 @@ struct SizeExample {
Text('no layoutWeight')
.size({ width: '30%', height: 110 }).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)
}.size({ width: '90%', height: 140 }).backgroundColor(0xAFEEEE)
List() { ListItem() { Image('/resources/rawfile/seaman.png') .alt('/resources/rawfile/seaman2.png') .objectFit(ImageFit.Fill) .padding('100vp') .margin('40vp') .opacity(0.5) .measure('image_1') // 获取id=image_1的Image组件尺寸信息 } .onMeasure((Array<MeasureRuler> ruler) => { // 在布局之前回调,返回已测量的子组件尺寸信息 console.log(ruler[0].id, ruler[0].screenX, ruler[0].screenY, ruler[0].offsetX, ruler[0].offsetY, ruler[0].width, ruler[0].height) this.itemWidth = ruler[0].width this.itemHeight = ruler[0].height }) .width(this.itemWidth) .height(this.itemHeight) }
}.width('100%').margin({ top: 5 })
}
}
}}
```
![zh-cn_image_0000001174264384](figures/zh-cn_image_0000001174264384.gif)
......@@ -25,12 +25,12 @@
| target<sup>8+</sup> | EventTarget | 被点击元素对象。 |
| timestamp | number | 事件时间戳。 |
- EventTarget对象说明<sup>8+</sup>
- EventTarget<sup>8+</sup>对象说明
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| area | Area | 目标元素的区域信息。 |
- Area对象说明<sup>8+</sup>
- Area<sup>8+</sup>对象说明
| 属性名称 | 类型 | 描述 |
| -------- | -------- | -------- |
| width | number | 目标元素的宽度,单位为vp。 |
......@@ -38,7 +38,7 @@
| pos | Position | 目标元素左上角相对父元素左上角的位置。 |
| globalPos | Position | 目标元素左上角相对页面左上角的位置。 |
- Position对象说明<sup>8+</sup>
- Position<sup>8+</sup>对象说明
| 属性名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| x | number | x轴坐标,单位为vp。 |
......
......@@ -16,6 +16,8 @@
>
> 0.6 - 文档标题为一级标题;namespace下的属性字段、function、class、interface、enum、type为二级标题;class下的属性、function为三级标题。
>
> **版本说明**
>
> 0.7 - **对已有模块的新增接口标记起始版本:使用\<sup>标签,标记对应的版本号。**
> 示例:API 6已有的模块,在API 7新增了一个属性字段,则在属性后加标记,即newAttribute<sup>7+</sup>。
> 如果新增了一个方法,则在方法标题后增加标记,即 sim.getSimIccId<sup>7+</sup>,interface、class、枚举等同理。
......@@ -25,7 +27,24 @@
>
> > 从API Version 7 开始废弃,建议使用[newMethod](#newMethod)替代。
>
> 0.9 - **权限和syscap**:与代码保持一致,下沉到各个方法、枚举、属性字段中。
> 0.9 - **MR版本才能实现的空接口**,在接口的描述说明中,添加:
> 本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
>
> **权限、syscap、系统API**
>
> 0.10 - **权限**:与代码保持一致,下沉到各个方法、枚举、属性字段中。采用格式:
> (所有应用可申请)**需要权限:** ohos.permission.xxxx
> (仅系统应用可申请)**需要权限:** ohos.permission.xxxx,仅系统应用可用。
>
> 0.11 - **syscap**:
> 每个function需要进行描述:**系统能力**:SystemCapability.xxx.xxx
> 每个表格(属性、枚举、常量、变量)可统一进行说明,分两种情况:
> 每个表格下系统能力无差异的:
> 以下各项对应的系统能力均为SystemCapability.xxx.xxx。
> 有差异的:
> 以下各项对应的系统能力有所不同,详见下表。
>
> 0.12 - **系统API**:系统API需要增加描述:此接口为系统接口,三方应用不支持调用。
> 下面进入具体每个API的写作。
***
......@@ -78,11 +97,15 @@ import call from '@ohos.telephony.call';
> 4.3 - 对于可读属性:如果取值为有特殊含义的有限值,需要进行枚举。
>
> 4.4 - 对于可写属性:如果仅支持固定字段,需要进行说明。
>
> 4.5 - 如果各项系统能力有差异,描述改为:以下各项对应的系统能力有所不同,详见下表。然后在各项里进行描述。参考[枚举的说明](#枚举)
**系统能力:** 以下各项对应的系统能力均为SystemCapability.xxx.xxx。(必选)
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------------- | ----------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| pluggedType | [BatteryPluggedType](#BatteryPluggedType) | 是 | 否 | 表示当前设备连接的充电器类型。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) |
| isBatteryPresent | boolean | 是 | 否 | 表示当前设备是否支持电池或者电池是否在位。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) |
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------------- | ----------------------------------------- | ---- | ---- | ------------------------------------------ |
| pluggedType | [BatteryPluggedType](#BatteryPluggedType) | 是 | 否 | 表示当前设备连接的充电器类型。 |
| isBatteryPresent | boolean | 是 | 否 | 表示当前设备是否支持电池或者电池是否在位。 |
## 枚举
......@@ -94,6 +117,8 @@ import call from '@ohos.telephony.call';
在此处给出该枚举类型的简要描述。如:表示连接的充电器类型的枚举。
**系统能力:** 以下各项对应的系统能力有所不同,详见下表。(必选)
| 名称 | 值 | 说明 |
| ---- | ---- | ------------------------------------------------------------ |
| NONE | 1 | 表示连接的充电器类型未知。<br>**系统能力**:SystemCapability.xxx.xxx(必选) |
......@@ -105,15 +130,11 @@ import call from '@ohos.telephony.call';
> 6.1 - 可选,如果没有可删除。如果有多个方法,请分多个二级内容描述,并使用“##”自行新建二级标题。
>
> 6.2 - 二级标题名为方法名,采用导入类.方法名,如果是订阅方法,需要在方法名加上对应的订阅事件。
>
> 示例: sim.getSimIccId
>
> 订阅方法:sim.on('exampleEvent')
>
> 6.3 - **方法具体调用形式**:和d.ts保持一致,需要包括参数类型、参数名、返回值类型。
>
> 示例:getNetworkState(slotId: number, callback: AsyncCallback\<NetworkState>): void
>
> 注意:尖括号<>可能会被识别为标签,导致界面显示失效,可增加一个\,以保证界面正常显示,如“\\<>”或使用转义字符\&lt; \&gt; 。
>
> 6.4.1 - **方法描述**:对方法实现的功能进行描述,包括其使用的前提条件(*如:在xx方法调用后才能调用、需要确保网络已连接……*)、使用之后的影响(*如:调用该接口后再进行xx将不起效*)、**权限限制**、**系统能力**等。
......@@ -165,7 +186,6 @@ import call from '@ohos.telephony.call';
> 7.2 - 二级标题名为class、interface的名称。
>
> 7.3 - 如果该API中,既有属性,又有方法,需要先进行属性的写作,并使用“###”三级标题。
>
> 如果该API中,只有属性,那么不需要新建三级标题,直接使用表格陈列属性,具体示例参考[CustomType](#CustomType)。
类描述/interface描述。如果有使用限制,需要在这个地方说明。比方说,是否有前提条件,是否需要通过什么方法先构造一个实例。
......@@ -181,11 +201,8 @@ import call from '@ohos.telephony.call';
> *写作说明*
>
> 7.4 - 标题名为方法名,使用三级标题,**没有前缀**。如果是订阅方法,需要在方法名加上对应的订阅事件。
>
> 示例: getSimIccId
>
> 订阅方法:on('exampleEvent')
>
> 其余要求请参考[方法](#方法)中的说明。
在此处给出方法的具体调用形式。说明请参考6.3。
......@@ -225,8 +242,9 @@ import call from '@ohos.telephony.call';
## CustomType
仅有k-v键值对的自定义类型示例。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.xxx.xxx。(必选)
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------------------- | ---- | ---- | ------------------------------------------------------------ |
| parameterUrl | string | 是 | 是 | 媒体输出URI。支持:<br/>1. 协议类型为“internal”的相对路径,示例如下:<br/>临时目录:internal://cache/test.mp4<br/><br/>2. 文件的绝对路径,示例如下:<br/>file:///data/data/ohos.xxx.xxx/files/test.mp4<br/>**系统能力**:SystemCapability.xxx.xxx(必选) |
| parameterOne | [CustomEnum](#枚举) | 是 | 是 | 属性描述,要求与参数说明类似。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) |
\ No newline at end of file
| parameterUrl | string | 是 | 是 | 媒体输出URI。支持:<br/>1. 协议类型为“internal”的相对路径,示例如下:<br/>临时目录:internal://cache/test.mp4<br/><br/>2. 文件的绝对路径,示例如下:<br/>file:///data/data/ohos.xxx.xxx/files/test.mp4<br/> |
| parameterOne | [CustomEnum](#枚举) | 是 | 是 | 属性描述,要求与参数说明类似。 |
\ No newline at end of file
# windowmanager
# 窗口子系统
- [简介](#简介)
- [目录](#目录)
......@@ -8,15 +8,14 @@
## 简介
**窗口子系统** 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统
其主要的结构如下图所示:
**窗口子系统** 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统。其主要的结构如图1所示。
**图 1** 窗口子系统架构图
![窗口子系统架构图](./figures/WindowManager.png)
- **Window Manager Client**
应用进程窗口管理接口层,提供窗口对对象抽象和窗口管理接口,对接原能力和UI框架。
应用进程窗口管理接口层,提供窗口对象抽象和窗口管理接口,对接元能力和UI框架。
- **Display Manager Client**
......@@ -24,17 +23,17 @@
- **Window Manager Server**
窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入
窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入
- **Display Manager Server**
Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系
Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系
## 目录
```
foundation/windowmanager/
├── dm # Dislplay Manager Client实现代码
├── dmserver # Dislplay Manager Service实现代码
├── dmserver # Dislplay Manager Server实现代码
├── interfaces # 对外接口存放目录
│   ├── innerkits # native接口存放目录
│   └── kits # js/napi接口存放目录
......@@ -43,7 +42,7 @@ foundation/windowmanager/
├── snapshot # 截屏命令行工具实现代码
├── utils # 工具类存放目录
├── wm # Window Manager Client实现代码
├── wmserver # Window Manager Service实现代码
├── wmserver # Window Manager Server实现代码
```
## 约束
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册