Open Gahotx opened 2 years ago
我认为这个功能很实用,跑去数据库编辑评论确实有些麻烦。 而且如果是腾讯云函数,有些字符无法在网页直接编辑。 需要将评论导出编辑,然后再导入。
评论在提交后,会被编译成 HTML 代码储存,以便提升性能和保持更多可能性。 (比如在评论里插入视频、使用彩色文字。 Markdown 并没有这样的语法,但是博主可以通过直接编辑 HTML 实现。)
所以要实现编辑评论,应该需要新增一个字段,用来储存评论的源代码。 然后在编辑的时候,读取并填充源代码到输入框以供编辑。 (当然如果你手动编辑过 HTML,储存的源代码肯定对不上。 不过这也没有办法,但是应该也不会有人大量使用那种特殊用法。)
腾讯云数据库里面的"comment"
就是评论的源代码,就是每次编辑评论都要上云开发的数据库里编辑,确实比较麻烦,所以想着如果管理面板里有个编辑按钮,然后就可以直接编辑评论的源代码,那会方便很多
那个不是储存的 HTML 吗,编辑的话应该以 Markdown 的形式进行编辑吧。
目前的想法:如 @Android-KitKat 所说,不存储 Markdown 内容的情况下,编辑的时候不保留富文本,只保留纯文本,是可以实现的。比如用户发送了 **Bold**
,编辑时会变成 Bold
丢失加粗效果。
如果直接让管理员编辑 HTML,操作体验太差了。除非我在管理面板里面放个富文本编辑器
如果存储 Markdown 原文,实现上可行,但是所有更新前的旧数据无法编辑,
我也是这样认为的,既然做成一个功能。 让用户直接编辑 HTML 代码,在使用体验上不太好。 富文本编辑器的话,我不了解。不知道好不好应用。
这样处理如何,之后的新评论都会储存原文。 在编辑评论的时候,如果有原文数据,就读取并填充到输入框。
如果没有原文数据,就提示用户:
该评论未储存原文,将转换为纯文本进行编辑。 原样保存可能会丢失部分内容,敬请留意。
然后将富文本转换为纯文本并填充到输入框。
或者如果能把 HTML 代码直接再转换回 Markdown 的话……
但是可能得处理表情代码,以及意料之外的 HTML 标签。
好像有类似的这种html转markdown工具:https://github.com/mixmark-io/turndown
会参考以上建议实现
个人认为,直接让管理员编辑 HTML 也不是完全不可行,在评论区使用极端复杂的 Markdown 和 iframe 等的应该还是少数。
不知道有没有希望 (逃