etherpad
数据库配置方式:
- setting.json文件中配置,支持pgsql
"dbType" : "mysql",
"dbSettings" : {
"user": "root",
"host": "120.55.57.228",
"port": 3306,
"password": "root",
"database": "etherpad",
"charset": "utf8mb4"
},
数据库表为
store
单张表,存储数据以key、value的形式, value中存储的均为json串key为主键索引,查询效率不会慢,但是考虑后期大量数据存储之后的情况,可能出现存储的效率低的问题
etherpad提供API供外部访问, 例如获取pad的当前的文本数据,可使用api直接获取
http://0.0.0.0:9001/api/1/getText?apikey=ea232dfd846199946599dd7965c56e662287e142c497fea6b66ffede0bca39fc&padID=qiansiaodejishiben12345678901
api中的apikey在项目启动之后生成在根目录下的APIKEY.txt文件中
ether页面中输入的的pad的名称存储在数据库中
pad:qiansiaodejishiben12345678901
,目前没有发现在ether中可存储文档的名称,名称作为唯一标识符存储,后期方案可为存储一个自身系统的关于文档的头信息,关联ether中的padidether中的数据权限控制由
group
和author
关联成session
来控制,同样拥有api控制,后期可以通过自身系统与之做关联来做权限控制ether的文档变更数据存储,只存储变更的数据,解析方式可能需要使用ether的系统 外部解析困难
{"changeset":"Z:5>1=4*0|1+1$\n","meta":{"author":"a.8jWzEHKnRGpBuOPM","timestamp":1615803125505}}
- ether的text的存储
{
"atext": {
"text": "\n*\n中文1号*****iuas\n\n如果你在寻找云顶之弈的此处的传送门查看!\n 注:国服的公告基于国服更新的实际版本数值,Riot游戏设计团队如在版本内对平衡性进行调整,国服运营团告。后续可能基于配置下效果可能不同。\n\n已知问题:\n* 对即将回城的英雄使用【暗行者之爪】或【沙雀之爪****】的主动效果后,会导致自己无法释放技能。\n 如果对方队伍通过/remake结束对局,那么己方出游戏,客户端将显示“重新连接”,并且点击“重新连接”也无法进入对局\n* 排位结算界面胜点显示问题仍在处理中\n\n\n此次商店更新,在设计上有一些不同以往的目标。《英雄联盟》团队想要创建一种流线型的、基于数据的推荐装备体验,改良了【所有装备】界面的易用性,保留了配装方案的使用与导入功能,并更新了视觉效果,以匹配《英雄联盟》不断进化的审美。\n\nas\n",
"attribs": "*0|1+1*0*b*5*7+1*0|3+g*0+4*0*4+f*0|1+a*0+g*0*1+7*0+8*0*2+6*0|2+21*0*1+5*0|1+1*0*5*9*7*8+1*0|1+1h*0+i*0*3+a*0|1+d*0*5*a*7+1*0|2+2r*0*5*6*7*8+1*0|5+3u*0+2|1+1"
},
"pool": {
"numToAttrib": {
"0": [
"author",
"a.8jWzEHKnRGpBuOPM"
],
"1": [
"bold",
"true"
],
"2": [
"italic",
"true"
],
"3": [
"underline",
"true"
],
"4": [
"strikethrough",
"true"
],
"5": [
"insertorder",
"first"
],
"6": [
"list",
"number1"
],
"7": [
"lmkr",
"1"
],
"8": [
"start",
"1"
],
"9": [
"list",
"bullet1"
],
"10": [
"list",
"indent1"
],
"11": [
"img",
"data:image/jpeg;base64,AjoAKAP/9k="
]
},
"nextNum": 12
},
"head": 33,
"chatHead": -1,
"publicStatus": false,
"savedRevisions": [
{
"revNum": 7,
"savedById": "a.8jWzEHKnRGpBuOPM",
"label": "Revision 7",
"timestamp": 1615801038784,
"id": "e46cfa9306466ac6b6b8"
},
{
"revNum": 15,
"savedById": "a.8jWzEHKnRGpBuOPM",
"label": "Revision 15",
"timestamp": 1615803129462,
"id": "8e6713c7d1b16b1554e5"
},
{
"revNum": 26,
"savedById": "a.8jWzEHKnRGpBuOPM",
"label": "Revision 26",
"timestamp": 1615805009295,
"id": "4b9b1507d52fc4586049"
}
]
}
json的解读:图片存储默认存储方式是base64,图片以及数据格式均使用占位的方式,在text中以*的方式占位,attribs的值为占位的解析方式
"attribs": "*0|1+1*0*b*5*7+1*0|3+g*0+4*0*4+f*0|1+a*0+g*0*1+7*0+8*0*2+6*0|2+21*0*1+5*0|1+1*0*5*9*7*8+1*0|1+1h*0+i*0*3+a*0|1+d*0*5*a*7+1*0|2+2r*0*5*6*7*8+1*0|5+3u*0+2|1+1"
- 目前最新文档地址