Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
f1bc044f
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
f1bc044f
编写于
12月 06, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 06, 2022
浏览文件
操作
浏览文件
下载
差异文件
!12206 CI断链修改+错误码文档命名规范修改
Merge pull request !12206 from zengyawen/master
上级
4945797a
99efbc8b
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
53 addition
and
52 deletion
+53
-52
zh-cn/application-dev/faqs/faqs-ability.md
zh-cn/application-dev/faqs/faqs-ability.md
+2
-2
zh-cn/application-dev/faqs/faqs-media.md
zh-cn/application-dev/faqs/faqs-media.md
+1
-1
zh-cn/application-dev/reference/apis/js-apis-app-form-formhost.md
...plication-dev/reference/apis/js-apis-app-form-formhost.md
+28
-28
zh-cn/application-dev/reference/apis/js-apis-app-form-formprovider.md
...ation-dev/reference/apis/js-apis-app-form-formprovider.md
+10
-10
zh-cn/application-dev/reference/apis/js-apis-formerror.md
zh-cn/application-dev/reference/apis/js-apis-formerror.md
+1
-1
zh-cn/application-dev/reference/errorcodes/Readme-CN.md
zh-cn/application-dev/reference/errorcodes/Readme-CN.md
+1
-0
zh-cn/application-dev/reference/errorcodes/errorcode-form.md
zh-cn/application-dev/reference/errorcodes/errorcode-form.md
+0
-0
zh-cn/application-dev/reference/syscap-list.md
zh-cn/application-dev/reference/syscap-list.md
+1
-1
zh-cn/application-dev/security/accesstoken-guidelines.md
zh-cn/application-dev/security/accesstoken-guidelines.md
+2
-2
zh-cn/application-dev/security/app-provision-structure.md
zh-cn/application-dev/security/app-provision-structure.md
+2
-2
zh-cn/application-dev/security/userauth-guidelines.md
zh-cn/application-dev/security/userauth-guidelines.md
+5
-5
未找到文件。
zh-cn/application-dev/faqs/faqs-ability.md
浏览文件 @
f1bc044f
...
@@ -60,7 +60,7 @@ build() {
...
@@ -60,7 +60,7 @@ build() {
Ability配置中缺少startWindowIcon属性配置,需要在module.json5中abilities中配置startWindowIcon。
Ability配置中缺少startWindowIcon属性配置,需要在module.json5中abilities中配置startWindowIcon。
参考文档:
[
Stage模型应用程序包结构
](
../quick-start/
application-package-structure-stag
e.md
)
参考文档:
[
Stage模型应用程序包结构
](
../quick-start/
module-configuration-fil
e.md
)
示例:
示例:
...
@@ -95,7 +95,7 @@ Ability配置中缺少startWindowIcon属性配置,需要在module.json5中abil
...
@@ -95,7 +95,7 @@ Ability配置中缺少startWindowIcon属性配置,需要在module.json5中abil
## 如何在应用A中去获取应用B的Hap包的安装路径
## 如何在应用A中去获取应用B的Hap包的安装路径
适用于:OpenHarmony SDK 3.
.
0以上版本, API9 Stage模型
适用于:OpenHarmony SDK 3.0以上版本, API9 Stage模型
首先需要申请系统权限,具体参看文档:
[
自动化签名
](
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-auto-configuring-signature-information-0000001271659465
)
。导入bundle模块,通过调用bundle.getApplicationInfo()接口,通过包名获取应用信息。然后通过application.moduleSourceDirs获取应用存储路径。
首先需要申请系统权限,具体参看文档:
[
自动化签名
](
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-auto-configuring-signature-information-0000001271659465
)
。导入bundle模块,通过调用bundle.getApplicationInfo()接口,通过包名获取应用信息。然后通过application.moduleSourceDirs获取应用存储路径。
...
...
zh-cn/application-dev/faqs/faqs-media.md
浏览文件 @
f1bc044f
...
@@ -34,7 +34,7 @@ for(let cameraIndex = 0; cameraIndex < this.cameraArray.length; cameraIndex++) {
...
@@ -34,7 +34,7 @@ for(let cameraIndex = 0; cameraIndex < this.cameraArray.length; cameraIndex++) {
break
break
}
}
}
}
cameraInput = await this.cameraManager.createCameraInput(cameraId)
熊文帅
cameraInput = await this.cameraManager.createCameraInput(cameraId)
```
```
## 如何进行图片剪切
## 如何进行图片剪切
...
...
zh-cn/application-dev/reference/apis/js-apis-app-form-formhost.md
浏览文件 @
f1bc044f
...
@@ -32,7 +32,7 @@ deleteForm(formId: string, callback: AsyncCallback<void>): void
...
@@ -32,7 +32,7 @@ deleteForm(formId: string, callback: AsyncCallback<void>): void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -81,7 +81,7 @@ deleteForm(formId: string): Promise<void>
...
@@ -81,7 +81,7 @@ deleteForm(formId: string): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -121,7 +121,7 @@ releaseForm(formId: string, callback: AsyncCallback<void>): void
...
@@ -121,7 +121,7 @@ releaseForm(formId: string, callback: AsyncCallback<void>): void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -162,7 +162,7 @@ releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback<
...
@@ -162,7 +162,7 @@ releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback<
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -208,7 +208,7 @@ releaseForm(formId: string, isReleaseCache?: boolean): Promise<void>
...
@@ -208,7 +208,7 @@ releaseForm(formId: string, isReleaseCache?: boolean): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -248,7 +248,7 @@ requestForm(formId: string, callback: AsyncCallback<void>): void
...
@@ -248,7 +248,7 @@ requestForm(formId: string, callback: AsyncCallback<void>): void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -293,7 +293,7 @@ requestForm(formId: string): Promise<void>
...
@@ -293,7 +293,7 @@ requestForm(formId: string): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -334,7 +334,7 @@ castTempForm(formId: string, callback: AsyncCallback<void>): void
...
@@ -334,7 +334,7 @@ castTempForm(formId: string, callback: AsyncCallback<void>): void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -379,7 +379,7 @@ castTempForm(formId: string): Promise<void>
...
@@ -379,7 +379,7 @@ castTempForm(formId: string): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -419,7 +419,7 @@ notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void
...
@@ -419,7 +419,7 @@ notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -463,7 +463,7 @@ notifyVisibleForms(formIds: Array<string>): Promise<void>
...
@@ -463,7 +463,7 @@ notifyVisibleForms(formIds: Array<string>): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -502,7 +502,7 @@ notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<vo
...
@@ -502,7 +502,7 @@ notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<vo
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -546,7 +546,7 @@ notifyInvisibleForms(formIds: Array<string>): Promise<void>
...
@@ -546,7 +546,7 @@ notifyInvisibleForms(formIds: Array<string>): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -585,7 +585,7 @@ enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void&
...
@@ -585,7 +585,7 @@ enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void&
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -630,7 +630,7 @@ enableFormsUpdate(formIds: Array<string>): Promise<void>
...
@@ -630,7 +630,7 @@ enableFormsUpdate(formIds: Array<string>): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -670,7 +670,7 @@ disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void
...
@@ -670,7 +670,7 @@ disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -715,7 +715,7 @@ disableFormsUpdate(formIds: Array<string>): Promise<void>
...
@@ -715,7 +715,7 @@ disableFormsUpdate(formIds: Array<string>): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -875,7 +875,7 @@ getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.Fo
...
@@ -875,7 +875,7 @@ getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.Fo
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -916,7 +916,7 @@ getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback<
...
@@ -916,7 +916,7 @@ getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback<
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -962,7 +962,7 @@ getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formI
...
@@ -962,7 +962,7 @@ getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formI
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -1071,7 +1071,7 @@ acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo&g
...
@@ -1071,7 +1071,7 @@ acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo&g
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -1126,7 +1126,7 @@ acquireFormState(want: Want): Promise<formInfo.FormStateInfo>
...
@@ -1126,7 +1126,7 @@ acquireFormState(want: Want): Promise<formInfo.FormStateInfo>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -1223,7 +1223,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean, callback: A
...
@@ -1223,7 +1223,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean, callback: A
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501003 | The form can not be operated by the current application. |
| 16501003 | The form can not be operated by the current application. |
...
@@ -1268,7 +1268,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean): Promise<
...
@@ -1268,7 +1268,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean): Promise<
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501003 | The form can not be operated by the current application. |
| 16501003 | The form can not be operated by the current application. |
...
@@ -1308,7 +1308,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean, c
...
@@ -1308,7 +1308,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean, c
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501003 | The form can not be operated by the current application. |
| 16501003 | The form can not be operated by the current application. |
...
@@ -1353,7 +1353,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean):
...
@@ -1353,7 +1353,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean):
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501003 | The form can not be operated by the current application. |
| 16501003 | The form can not be operated by the current application. |
...
@@ -1392,7 +1392,7 @@ shareForm(formId: string, deviceId: string, callback: AsyncCallback<void>)
...
@@ -1392,7 +1392,7 @@ shareForm(formId: string, deviceId: string, callback: AsyncCallback<void>)
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -1440,7 +1440,7 @@ shareForm(formId: string, deviceId: string): Promise<void>
...
@@ -1440,7 +1440,7 @@ shareForm(formId: string, deviceId: string): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
...
zh-cn/application-dev/reference/apis/js-apis-app-form-formprovider.md
浏览文件 @
f1bc044f
...
@@ -27,7 +27,7 @@ setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&l
...
@@ -27,7 +27,7 @@ setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&l
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5。 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。 |
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -75,7 +75,7 @@ setFormNextRefreshTime(formId: string, minute: number): Promise<void>
...
@@ -75,7 +75,7 @@ setFormNextRefreshTime(formId: string, minute: number): Promise<void>
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -116,7 +116,7 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData,call
...
@@ -116,7 +116,7 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData,call
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -163,7 +163,7 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Pr
...
@@ -163,7 +163,7 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Pr
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501001 | The ID of the form to be operated does not exist. |
...
@@ -201,7 +201,7 @@ getFormsInfo(callback: AsyncCallback<Array<formInfo.FormInfo>>): voi
...
@@ -201,7 +201,7 @@ getFormsInfo(callback: AsyncCallback<Array<formInfo.FormInfo>>): voi
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -239,7 +239,7 @@ getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback<Array&l
...
@@ -239,7 +239,7 @@ getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback<Array&l
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -287,7 +287,7 @@ getFormsInfo(filter?: formInfo.FormInfoFilter): Promise<Array<formInfo.For
...
@@ -287,7 +287,7 @@ getFormsInfo(filter?: formInfo.FormInfoFilter): Promise<Array<formInfo.For
**错误码:**
**错误码:**
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16500100 | Failed to obtain configuration information. |
...
@@ -329,7 +329,7 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData,
...
@@ -329,7 +329,7 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData,
| formBindingData |
[
FormBindingData
](
js-apis-formbindingdata.md#formbindingdata
)
| 是 | 创建卡片的数据。 |
| formBindingData |
[
FormBindingData
](
js-apis-formbindingdata.md#formbindingdata
)
| 是 | 创建卡片的数据。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。返回卡片标识。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。返回卡片标识。 |
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -377,7 +377,7 @@ requestPublishForm(want: Want, callback: AsyncCallback<string>): void
...
@@ -377,7 +377,7 @@ requestPublishForm(want: Want, callback: AsyncCallback<string>): void
| want |
[
Want
](
js-apis-application-Want.md
)
| 是 | 发布请求。需包含以下字段。
<br>
abilityName: 目标卡片ability
<br>
parameters:
<br>
"ohos.extra.param.key.form_dimension"
<br>
"ohos.extra.param.key.form_name"
<br>
"ohos.extra.param.key.module_name" |
| want |
[
Want
](
js-apis-application-Want.md
)
| 是 | 发布请求。需包含以下字段。
<br>
abilityName: 目标卡片ability
<br>
parameters:
<br>
"ohos.extra.param.key.form_dimension"
<br>
"ohos.extra.param.key.form_name"
<br>
"ohos.extra.param.key.module_name" |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。返回卡片标识。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。返回卡片标识。 |
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
@@ -430,7 +430,7 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData
...
@@ -430,7 +430,7 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData
| :------------ | :---------------------------------- |
| :------------ | :---------------------------------- |
| Promise
<
string
>
| Promise对象。返回卡片标识。 |
| Promise
<
string
>
| Promise对象。返回卡片标识。 |
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/errcode-form.md
)
。
以下错误码的详细介绍请参见
[
卡片错误码
](
../errorcodes/err
or
code-form.md
)
。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| -------- | -------- |
| -------- | -------- |
| 16501000 | A functional error occurred. |
| 16501000 | A functional error occurred. |
...
...
zh-cn/application-dev/reference/apis/js-apis-formerror.md
浏览文件 @
f1bc044f
...
@@ -5,7 +5,7 @@ FormError模块提供获取卡片错误码的能力。
...
@@ -5,7 +5,7 @@ FormError模块提供获取卡片错误码的能力。
> **说明:**
> **说明:**
>
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9 开始不再维护,建议使用[Form错误码](../errorcodes/errcode-form.md)替代。
> 从API version 9 开始不再维护,建议使用[Form错误码](../errorcodes/err
or
code-form.md)替代。
## 导入模块
## 导入模块
...
...
zh-cn/application-dev/reference/errorcodes/Readme-CN.md
浏览文件 @
f1bc044f
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
-
Ability框架
-
Ability框架
-
[
元能力子系统错误码
](
errorcode-ability.md
)
-
[
元能力子系统错误码
](
errorcode-ability.md
)
-
[
DistributedSchedule错误码
](
errorcode-DistributedSchedule.md
)
-
[
DistributedSchedule错误码
](
errorcode-DistributedSchedule.md
)
-
[
卡片错误码
](
errorcode-form.md
)
-
包管理
-
包管理
-
[
包管理子系统通用错误码
](
errorcode-bundle.md
)
-
[
包管理子系统通用错误码
](
errorcode-bundle.md
)
-
[
zlib子系统错误码
](
errorcode-zlib.md
)
-
[
zlib子系统错误码
](
errorcode-zlib.md
)
...
...
zh-cn/application-dev/reference/errorcodes/errcode-form.md
→
zh-cn/application-dev/reference/errorcodes/err
or
code-form.md
浏览文件 @
f1bc044f
文件已移动
zh-cn/application-dev/reference/syscap-list.md
浏览文件 @
f1bc044f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
SysCap,全称SystemCapability,即系统能力,指操作系统中每一个相对独立的特性。
SysCap,全称SystemCapability,即系统能力,指操作系统中每一个相对独立的特性。
开发者使用某个接口进行开发前,建议先阅读
[
SysCap使用指南
](
../quick-start/
syscap.md
)
,了解Syscap的定义和使用指导。再结合下文中的表格判断具体能力集是否支持某个设备,提高开发效率。
开发者使用某个接口进行开发前,建议先阅读
[
SysCap使用指南
](
syscap.md
)
,了解Syscap的定义和使用指导。再结合下文中的表格判断具体能力集是否支持某个设备,提高开发效率。
## SystemCapability.ArkUI.ArkUI.Full
## SystemCapability.ArkUI.ArkUI.Full
...
...
zh-cn/application-dev/security/accesstoken-guidelines.md
浏览文件 @
f1bc044f
...
@@ -26,9 +26,9 @@
...
@@ -26,9 +26,9 @@
## 权限申请声明
## 权限申请声明
应用需要在工程配置文件中,对需要的权限逐个声明,没有在配置文件中声明的权限,应用将无法获得授权。
Ability框架提供了两种模型,分别为FA模型和Stage模型,更多信息可以参考
[
Ability框架概述
](
../ability/ability-brief
.md
)
。
应用需要在工程配置文件中,对需要的权限逐个声明,没有在配置文件中声明的权限,应用将无法获得授权。
OpenHarmony提供了两种应用模型,分别为FA模型和Stage模型,更多信息可以参考
[
应用模型解读
](
../application-models/application-model-description
.md
)
。
不同的
Ability框架
模型的应用包结构不同,所使用的配置文件不同,请开发者在申请权限时注意区分。
不同的
应用
模型的应用包结构不同,所使用的配置文件不同,请开发者在申请权限时注意区分。
配置文件标签说明如下表。
配置文件标签说明如下表。
...
...
zh-cn/application-dev/security/app-provision-structure.md
浏览文件 @
f1bc044f
...
@@ -73,7 +73,7 @@ HarmonyAppProvision文件示例:
...
@@ -73,7 +73,7 @@ HarmonyAppProvision文件示例:
### acls对象内部结构
### acls对象内部结构
acls对象包含已授权的
[
ACL权限
](
accesstoken-overview.md
)
。需要指出的是,开发者仍然需要在
应用包配置文件(
[
config.json
](
../quick-start/application-package-structure-fa.md
)
)
将acls权限信息填写到reqPermissions属性中。
acls对象包含已授权的
[
ACL权限
](
accesstoken-overview.md
)
。需要指出的是,开发者仍然需要在
[
应用包配置文件
](
../quick-start/module-configuration-file.md#requestpermissions标签
)
将acls权限信息填写到reqPermissions属性中。
表4 acls对象的内部结构
表4 acls对象的内部结构
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
...
@@ -81,7 +81,7 @@ acls对象包含已授权的[ACL权限](accesstoken-overview.md)。需要指出
...
@@ -81,7 +81,7 @@ acls对象包含已授权的[ACL权限](accesstoken-overview.md)。需要指出
| allowed-acls | 表示已授权的
[
acl权限
](
accesstoken-overview.md
)
列表。 | 字符串数组 | 可选 | 不可缺省 |
| allowed-acls | 表示已授权的
[
acl权限
](
accesstoken-overview.md
)
列表。 | 字符串数组 | 可选 | 不可缺省 |
### permissions对象内部结构
### permissions对象内部结构
permissions对象包含允许使用的受限敏感权限。不同于acls对象,permissions对象中的权限仅代表应用允许使用该敏感权限,权限最终由用户运行时授权。需要指出的是,开发者仍然需要在
应用包配置文件(
[
config.json
](
../quick-start/application-package-structure-fa.md
)
)
将permissions权限信息填写到reqPermissions属性中。
permissions对象包含允许使用的受限敏感权限。不同于acls对象,permissions对象中的权限仅代表应用允许使用该敏感权限,权限最终由用户运行时授权。需要指出的是,开发者仍然需要在
[
应用包配置文件
](
../quick-start/module-configuration-file.md#requestpermissions标签
)
将permissions权限信息填写到reqPermissions属性中。
表5 permissions对象的内部结构
表5 permissions对象的内部结构
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型 | 是否必选 | 是否可缺省 |
...
...
zh-cn/application-dev/security/userauth-guidelines.md
浏览文件 @
f1bc044f
...
@@ -29,7 +29,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
...
@@ -29,7 +29,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
### 开发步骤
### 开发步骤
1.
申请权限。调用
[
getVersion
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetversion9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
[
Stage模型应用程序包结构
](
../quick-start/application-package-structure-stag
e.md
)
。
1.
申请权限。调用
[
getVersion
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetversion9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
请参考
[
Stage模型应用程序包结构
](
../quick-start/module-configuration-fil
e.md
)
。
2.
调用
[
getVersion
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetversion9
)
接口获取版本信息。
2.
调用
[
getVersion
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetversion9
)
接口获取版本信息。
...
@@ -49,7 +49,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
...
@@ -49,7 +49,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
### 开发步骤
### 开发步骤
1.
申请权限。调用
[
getAvailableStatus
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetavailablestatus9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
[
Stage模型应用程序包结构
](
../quick-start/application-package-structure-stag
e.md
)
。
1.
申请权限。调用
[
getAvailableStatus
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetavailablestatus9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
请参考
[
Stage模型应用程序包结构
](
../quick-start/module-configuration-fil
e.md
)
。
2.
指定
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,调用
[
getAvailableStatus
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetavailablestatus9
)
接口查询当前的设备是否支持相应的认证能力。
2.
指定
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,调用
[
getAvailableStatus
](
../reference/apis/js-apis-useriam-userauth.md#useriam_userauthgetavailablestatus9
)
接口查询当前的设备是否支持相应的认证能力。
...
@@ -69,7 +69,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
...
@@ -69,7 +69,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
### 开发步骤
### 开发步骤
1.
申请权限。调用
[
start
](
../reference/apis/js-apis-useriam-userauth.md#start9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
[
Stage模型应用程序包结构
](
../quick-start/application-package-structure-stag
e.md
)
。
1.
申请权限。调用
[
start
](
../reference/apis/js-apis-useriam-userauth.md#start9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
请参考
[
Stage模型应用程序包结构
](
../quick-start/module-configuration-fil
e.md
)
。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
...
@@ -131,7 +131,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
...
@@ -131,7 +131,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
### 开发步骤
### 开发步骤
1.
申请权限。调用
[
start
](
../reference/apis/js-apis-useriam-userauth.md#start9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
[
Stage模型应用程序包结构
](
../quick-start/application-package-structure-stag
e.md
)
。
1.
申请权限。调用
[
start
](
../reference/apis/js-apis-useriam-userauth.md#start9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
请参考
[
Stage模型应用程序包结构
](
../quick-start/module-configuration-fil
e.md
)
。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
...
@@ -197,7 +197,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
...
@@ -197,7 +197,7 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括查询认证
### 开发步骤
### 开发步骤
1.
申请权限。调用
[
cancel
](
../reference/apis/js-apis-useriam-userauth.md#cancel9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
[
Stage模型应用程序包结构
](
../quick-start/application-package-structure-stag
e.md
)
。
1.
申请权限。调用
[
cancel
](
../reference/apis/js-apis-useriam-userauth.md#cancel9
)
接口,需要在module.json5文件的requestPermissions对象中配置ohos.permission.ACCESS_BIOMETRIC权限。更多配置信息
请参考
[
Stage模型应用程序包结构
](
../quick-start/module-configuration-fil
e.md
)
。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
2.
指定challenge、
[
认证类型
](
../reference/apis/js-apis-useriam-userauth.md#userauthtype8
)
和
[
认证等级
](
../reference/apis/js-apis-useriam-userauth.md#authtrustlevel8
)
,获取认证对象。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录