documentContext 对象
由 0x400 发布于
`documentContext` 对象用于获取内容管理系统(CMS)中文档实例的相关数据和操作权限,仅在内容管理表单中可用。通过 `this.documentContext` 访问。
## 二、核心方法
### 1. getDocument() → `Document`
- **描述**:获取当前内容管理文档对象。
- **语法**:
```javascript
const doc = this.documentContext.getDocument();
```
- **返回值**:
```javascript
{
id: "3359aedd-c2d8-4d8c-b8b0-02507da1b3f4",
title: "航天科工外部董事调研组到培训中心调研",
docStatus: "published",
// 其他属性...
}
```
### 2. getControl() → `DocumentControl`
- **描述**:获取当前用户对文档的操作权限。
- **语法**:
```javascript
const control = this.documentContext.getControl();
```
- **返回值**:
```javascript
{
allowRead: true,
allowPublishDocument: true,
allowSave: true,
// 其他权限...
}
```
### 3. getAttachmentList() → `Array<DocumentFileInfo>`
- **描述**:获取当前文档的附件列表。
- **语法**:
```javascript
const attachments = this.documentContext.getAttachmentList();
```
- **返回值示例**:
```javascript
[
{
id: "a5cc5858-cac5-445a-a0a5-888d224eb2f6",
name: "13145352_115454884000_2.jpg",
length: 364507,
// 其他附件属性...
}
]
```
### 4. verifyPublish() → `Boolean`
- **描述**:校验文档发布前的数据有效性。
- **语法**:
```javascript
const isValid = this.documentContext.verifyPublish();
if (!isValid) return false;
```
## 三、完整方法列表
### 1. getDocument()
- **功能**:获取文档对象,包含标题、状态、创建人等信息。
- **示例**:
```javascript
const doc = this.documentContext.getDocument();
console.log(doc.title); // 输出文档标题
```
### 2. getControl()
- **功能**:检查用户权限(如是否允许发布、编辑文档)。
- **示例**:
```javascript
const control = this.documentContext.getControl();
if (control.allowPublishDocument) {
this.form.publish();
}
```
### 3. getAttachmentList()
- **功能**:获取文档附件,支持云文件和本地附件。
- **示例**:
```javascript
const attachments = this.documentContext.getAttachmentList();
attachments.forEach(attach => {
console.log(attach.name, attach.length);
});
```
### 4. verifyPublish()
- **功能**:触发发布校验,验证表单数据是否符合规则。
- **示例**:
```javascript
if (this.documentContext.verifyPublish()) {
this.form.publish(() => {
this.form.notice("发布成功");
});
}
```
## 四、注意事项
1. **权限控制**:使用 `getControl()` 检查用户权限,避免无权限操作。
2. **数据校验**:`verifyPublish()` 需在发布前调用,确保数据合规。
3. **附件操作**:通过 `getAttachmentList()` 获取附件后,可进一步处理文件上传/下载。
**提示**:更多内容管理功能(如发布、保存)请参考 `form` 对象文档。
评论