# 历史记录页使用
# 快速入门
# 引入头文件
在需要使用想要展示的页面中引入IFLYDOC FLutter SDK的头文件。
import 'package:iflydocs_flutter_plugin/iflydocs_sdk_history.dart';
# 创建视图Widget
设置GlobalKey,以方便操控编辑器回调。
final GlobalKey<IFLYDocsHistoryViewState> historyKey = GlobalKey();
创建编辑器视图Widget在对应视图中,并设置GlobalKey与回调方法
IFLYDocsHistoryView(key: historyKey, historyCallBack: historyCallBack, config: {},)
创建回调方法
// 历史记录页回调
void historyCallBack(String method, Map arguments){
print('************** ${method} ${arguments}');
switch(method) {
case "docsOnEditorLoad":
Map history = {
"hislist" : [
{
"_id" : "622ef153e1e9df01ff31640f",
"uid" : "1628068417165",
"startV" : 1,
"endTime" : 1647243605294,
"updateTime" : 1647243605294,
"endV" : 4,
"ops" : [
{
"retain" : 1
},
{
"delete" : 4
}
],
"fid" : "103pQ",
"type" : "editcontent",
"startTime" : 1647243603885,
"msg" : "tsk 编辑了内容"
},
{
"msg" : "tsk 编辑了内容",
"uid" : 1628068417165,
"fid" : "103pQ",
"startV" : 0,
"endV" : 0,
"_id" : "622ef150e1e9df01ff31640d",
"ops" : [
{
"delete" : 2
}
],
"type" : "editcontent",
"endTime" : 1647243592613,
"startTime" : 1647243592613,
"tmpops" : [
{
"delete" : 1
},
{
"retain" : 4
},
{
"delete" : 1
}
],
"updateTime" : 1647243592613
},
{
"_id" : "622ef148e1e9df01ff31640c",
"uid" : "1628068417165",
"endTime" : 1647243592612,
"msg" : "tsk 创建了文档",
"fid" : "103pQ",
"type" : "filecreate",
"startTime" : 0
}
],
"oplist" : [
{
"d" : "103pQ",
"op" : {
"ops" : [
{
"retain" : 1
},
{
"insert" : "1"
}
]
},
"uid" : "1628068417165",
"v" : 1
},
{
"d" : "103pQ",
"op" : {
"ops" : [
{
"retain" : 2
},
{
"insert" : "2"
}
]
},
"uid" : "1628068417165",
"v" : 2
},
{
"d" : "103pQ",
"op" : {
"ops" : [
{
"retain" : 3
},
{
"insert" : "3"
}
]
},
"uid" : "1628068417165",
"v" : 3
},
{
"d" : "103pQ",
"op" : {
"ops" : [
{
"retain" : 4
},
{
"insert" : "4"
}
]
},
"uid" : "1628068417165",
"v" : 4
}
],
"histypes" : {
"FILEREVERT" : {
"name" : "filerevert",
"tpl" : "{user} 恢复了文档"
},
"FILECOPY" : {
"name" : "filecopy",
"tpl" : "{user} 创建了副本"
},
"INVITEROLE" : {
"name" : "inviterole",
"tpl" : "{user} 邀请了 {customer}"
},
"UNSHARE" : {
"name" : "unshare",
"tpl" : "{user} 取消了文档分享"
},
"FILECREATE" : {
"name" : "filecreate",
"tpl" : "{user} 创建了文档"
},
"SHARE" : {
"name" : "share",
"tpl" : "{user} 分享了文档"
},
"TONOTE" : {
"name" : "tonote",
"tpl" : "{user} 生成文字文档"
},
"FILEDELETE" : {
"name" : "filedelete",
"tpl" : "{user} 删除了文档"
},
"AUDIO_EXPORT" : {
"name" : "audio_export",
"tpl" : "{user} 导出音频"
},
"FILEREGAIN" : {
"name" : "fileregain",
"tpl" : "{user} 还原到{revertpoint}的内容"
},
"DELETEROLE" : {
"name" : "deleterole",
"tpl" : "{user} 移除了 {customer}"
},
"QUITROLE" : {
"name" : "quitrole",
"tpl" : "{user} 退出了协作"
},
"EDITCONTENT" : {
"name" : "editcontent",
"tpl" : "{user} 编辑了内容"
},
"FILERENAME" : {
"name" : "filerename",
"tpl" : "{user} 将文档重命名为“{detail}”"
},
"CHANGEROLE" : {
"name" : "changerole",
"tpl" : "{user} 设置 {customer} 为“{role}”"
},
"FILEMOVE" : {
"name" : "filemove",
"tpl" : "{user} 将文档移动至“{location}”"
}
},
"snapshot" : {
"id" : "103pQ",
"data" : {
"ops" : [
{
"attributes" : {
"header" : 1
},
"insert" : "\n"
},
{
"insert" : "\n"
}
]
},
"type" : "http:\/\/sharejs.org\/types\/rich-text\/v1",
"v" : 1,
"m" : null
},
"roles" : {
"delete" : "无权限",
"reader" : "仅查看",
"editor" : "可编辑",
"admin" : "可管理",
"owner" : "所有者",
"inherit" : "继承",
"none" : "无权限"
}
};
historyKey.currentState.insertHistoryData(0, history);
historyKey.currentState.insertWaterMark('测试水印');
break;
case "docsLoadHistroyData":
historyKey.currentState.insertHistoryData(1, {});
break;
default:
// throw UnsupportedError("Unrecognized method");
}
}
# API列表
# 插入历史记录数据
# 功能概述
插入一页历史记录数据
# 接口声明
void insertHistoryData(int ret, Map history)
# 参数说明
ret: 是否还有数据 0有 1没有了,
history:历史记录数据。
# 返回值说明
无返回值。
# 调用时机
文档编辑器加载完成后,通过网络接口获取数据以传入加载。
# 调用示例
historyKey.currentState.insertHistoryData(0, history);
# 设置水印
# 功能概述
设置历史记录页的水印
# 接口声明
void insertWaterMark(String waterMark)
# 参数说明
waterMark: 水印字符串。
# 返回值说明
无返回值。
# 调用时机
文档编辑器加载完成后,传入加载。
# 调用示例
historyKey.currentState.insertWaterMark('测试水印');
# 设置图片路径
# 功能概述
设置指定objectId的图片本地路径
# 接口声明
void loadImageByObjectId(String objectId, String localPath)
# 参数说明
objectId: 图片id,
localPath:本地路径。
# 返回值说明
无返回值。
# 调用时机
图片加载回调中。
# 调用示例
historyKey.currentState.loadImageByObjectId("testid", filePath);
# 回调列表
初始化时传入的historyCallBack中进行回调的接收。
// 试图加载完毕
docsOnEditorLoad
// 图片加载
docsLoadPhotoImageWithObjectId
// 更多历史记录
docsLoadHistroyData
// 历史记录回滚
docsOnHistoryRevert
← API列表