Constructor
new Service()
处理公文编辑器与后端服务器的交互。需要重载实现五个方法:getData、saveData、listHistory、getHistory、saveHistory,用于公文编辑器与后端服务交互
- Source:
Examples
import DocEditor from '@o2oa/doceditor';
const service = new DocEditor.Service();
service.listHistory = function(docid){
//实现获取历史痕迹列表,返回一个数组列表
};
service.getHistory = function(id){
//实现获取历史痕迹数据
};
service.saveHistory = function(data){
//实现保存历史痕迹数据
};
service.getData = function(docid){
//实现获取编辑器数据
};
service.listHistory = function(data){
//实现保存编辑器数据
};
const editor = DocEditor.createEditor("#div", options, service);
editor.load().then(()=>{
//做一些其他的事情,比如绑定事件
});
import DocEditor from '@o2oa/doceditor';
class MyService extends DocEditor.Service {
async listHistory(id) {
//实现获取历史痕迹列表,返回一个数组列表
}
async getHistory(id){
//实现获取历史痕迹数据
}
async saveHistory(data){
//实现保存历史痕迹数据
}
async getData(id){
//实现获取编辑器数据
}
async saveData(data){
//实现保存编辑器数据
}
};
const service = new MyService()
const editor = DocEditor.createEditor("#div", options, service);
editor.load().then(()=>{
//做一些其他的事情,比如绑定事件
});
Methods
(async) getData(id) → {Promise.<Object>}
获取编辑器数据
- Source:
Example
service.getData = function(data){
return Promise.resolve({
"copies": "",
"secret": "",
"priority": "",
"redHeader": "文件红头",
"fileno": "[文号]",
"signerTitle": "签发人:",
"signer": "[签发人]",
"subject": "[文件标题]",
"mainSend": "[主送单位:]",
"filetext": "[请在此处编辑正文内容]",
"attachmentTitle": "附件:",
"attachment": "",
"issuanceUnit": "[发文机关]",
"issuanceDate": "[成文日期]",
"annotation": "",
"copytoTitle": "抄送:",
"copyto": "[抄送]",
"copyto2Title": "发:",
"copyto2": "[发]",
"editionUnit": "[印发机关]",
"editionDate": "[印发日期]",
"meetingAttendTitle": "出席:",
"meetingLeaveTitle": "请假:",
"meetingSitTitle": "列席:",
"meetingAttend": "",
"meetingLeave": "",
"meetingSit": "",
"meetingRecord": ""
});
};
Parameters:
Name | Type | Description |
---|---|---|
id |
String | 当前文档的唯一标识,创建编辑器时的options中的docId |
Returns:
返回一个Promise resolve一个编辑器数据对象
- Type
- Promise.<Object>
(async) getHistory(id) → {Promise.<Object>}
实现获取历史痕迹数据
- Source:
Example
service.listHistory = function(id){
//实现获取历史痕迹列表,返回一个数组列表,格式如下:
return Promise.resolve({
"id": "1746f647-910f-419e-a55a-d07c176a3f87", //痕迹内容唯一标识,用于获取具体的痕迹数据,由服务器生成
"person": "胡起", //痕迹修订的用户 创建编辑器时的options中的user.name
"category": "documenteditor", //编辑id号,由创建编辑器时的options中id字段提供
"data": "...", //修订痕迹数据,保存时的data
"json": {} //将data中的文本转换为json对象(JSON.parse)
"activityName": "拟稿", //产生痕迹的步骤 创建编辑器时的options中的activity.name
"createTime": "2022-03-12 17:23:40", //保存时由服务器自动生成
"updateTime": "2022-03-12 17:23:40" //保存时由服务器自动生成
});
};
Parameters:
Name | Type | Description |
---|---|---|
id |
String | 历史痕迹的唯一标识,listHistory方法返回列表中的id |
Returns:
返回一个Promise resolve一个存储了痕迹数据的对象
- Type
- Promise.<Object>
(async) listHistory(id) → {Promise.<Array>}
实现获取历史痕迹列表,返回一个数组列表
- Source:
Example
service.listHistory = function(id){
//实现获取历史痕迹列表,返回一个数组列表,格式如下:
return Promise.resolve([
{
"id": "f2c17bf6-8d00-4204-97ed-00cc843a01cb", //痕迹内容唯一标识,用于获取具体的痕迹数据,由服务器生成
"person": "huqi@huqi@P", //痕迹修订的用户
"category": "documenteditor", //编辑id号,由创建编辑器时的options中id字段提供
"activityName": "拟稿", //产生痕迹的步骤
"createTime": "2022-03-14 10:16:05", //保存时由服务器自动生成
"updateTime": "2022-03-14 10:16:05" //保存时由服务器自动生成
... //其他数据由创建编辑器时的options中的processInfo对象提供
}
]);
};
Parameters:
Name | Type | Description |
---|---|---|
id |
String | 当前文档的唯一标识,创建编辑器时的options中的docId |
Returns:
返回一个Promise resolve一个存储了痕迹列表的对象数组
- Type
- Promise.<Array>
(async) saveData()
保存编辑器数据
- Source:
Example
service.saveData = function(data){
//data为要保存的数据,格式如下:
{
"docId": "xxxxxxx" //文档的唯一标识
"copies": "",
"secret": "",
"priority": "",
"redHeader": "文件红头",
"fileno": "[文号]",
"signerTitle": "签发人:",
"signer": "[签发人]",
"subject": "[文件标题]",
"mainSend": "[主送单位:]",
"filetext": "[请在此处编辑正文内容]",
"attachmentTitle": "附件:",
"attachment": "",
"issuanceUnit": "[发文机关]",
"issuanceDate": "[成文日期]",
"annotation": "",
"copytoTitle": "抄送:",
"copyto": "[抄送]",
"copyto2Title": "发:",
"copyto2": "[发]",
"editionUnit": "[印发机关]",
"editionDate": "[印发日期]",
"meetingAttendTitle": "出席:",
"meetingLeaveTitle": "请假:",
"meetingSitTitle": "列席:",
"meetingAttend": "",
"meetingLeave": "",
"meetingSit": "",
"meetingRecord": "",
... //其他自定义扩展字段
}
};
(async) saveHistory()
保存历史痕迹
- Source:
Example
service.saveHistory = function(data){
//data为要保存的数据,格式如下:
{
"docId": "xxxx" //当前文档的唯一标识,创建编辑器时的options中的docId
"category": "documenteditor", //编辑id号,由创建编辑器时的options中id字段提供
"data": "...", //修订痕迹数据
"person": "测试", //修订用户 创建编辑器时的options中的user.name
"activityName": "核稿" //修订时的活动状态 创建编辑器时的options中的activity.name
... //其他数据由创建编辑器时的options中的processInfo对象提供
}
};