Luckysheet [BUG]发现了个bug 协同编辑模式下,保护工作表操作仅对本地生效

q5iwbnjs  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(53)

描述错误

重现

  1. 第一步操作: 开启协同模式,配置后台 ws 更新地址
  2. 第二步操作: 前端选择保护工作表,后台未收到请求,当然也没办法通知其他用户工作表被保护
  3. 最后看到了什么错误: 保护工作表仅对本地生效,且刷新页面后保护状态消失(因为后端未收到请求,无法持久化)

期望的结果
请问有什么解决方案,能让后端收到前端工作表保护状态变化的通知,并能通知其他用户该工作表保护状态已改变吗

屏幕截图或演示

环境:

  • 操作系统:Microsoft Windows [版本 10.0.18363.2037]
  • 浏览器 版本号:Microsoft Edge 版本 97.0.1072.55 (官方内部版本) (64 位)
  • Luckysheet版本:v2.1.12 ( 因为 v2.1.13 有 另一个问题 ,无法使用)

备注
另外,如 这个 issue 所指出的,剪切会打破单元格保护。有意思的是,此时后端才会收到单元格保护状态更新的请求!格式类似: {"t": "all", "i": "sheet_01", "v": {"authority": { ... }, "merge": {}}, "k": "config"}

ego6inou

ego6inou1#

我有个最懒的办法 直接修改源代码 luckysheet.umd.js (v2.1.13) 搜索 .saveParam("cg"
能够找到 类似 XX.saveParam("cg" 其中 XX 为发送配置到后台的全局函数
再然后搜索 #luckysheet-slider-protection-ok 应该只有一个

$("#luckysheet-slider-protection-ok").unbind("click").click(function(){
	....//这里会出现类似Z.config.authority的值
	XX.saveParam("cg",Z.index,Z.config.authority,{k:"authority"})//这行是需要添加的内容
	YY()//这是关闭对话柜函数
})

XX和YY和 Z可能是任意值

相关问题