我通过insertImage接口实现了插入图片、超链接、表格、公式的功能。 是的,所有上述我都通过svg图片渲染出来,通过定义data-custom数据结构保存相关属性,在里面定义type字段来区分不同元素。理论上视频也可以通过这种方式实现,渲染一个封面图或者svg图片,点击可以打开一个弹窗,播放或者修改视频。不过最终生成的html需要再额外处理一下,把里面的img标签通过data-custom字段来转换回真实的标签类型。 svg图片可以通过 src: `data:image/svg+xml;base64,${base64.encode(svg_str)}`的方式进行插入。 至于点击事件,我通过一些不太优美的方式,使用EditorContext.getBounds实现了Editor点击图片触发事件。(在我的回答里有相关实现的思路) [图片]
请问微信小程序editor富文本目前只能插入图片该如何插入视频与链接?[图片][图片]
07-02我是开发编辑器的时候,遇到这个问题,需要点击图片,打开我自定义的图片编辑弹窗。 没有找到Editor相关的图片点击事件,我用了下面这种方案实现了这个效果。 1、给Editor外层加了一个view监听点击事件,得到e.detail.x和y,知道点击的位置在哪。 2、目前EditorContext好像没有接口能直接获取某个坐标的元素是什么,我使用了EditorContext.getBounds来判断点击位置的元素是什么。不过需要先EditorContext.getContents获取delta,然后手动解析,目测好像所有数据都是在insert中(不确定除了insert是不是还有其他类型)。目测文本类型长度就是insert的长度,图片类型index长度就是+1。我for循环遍历EditorContext.getBounds({index: i,length: 1})得到的left、top、width、height来判断点击坐标是不是在范围内,这个接口获取的left、top是相对于屏幕的坐标,不需要进行额外的坐标转换(这里的for循环应该可以用二分法优化)。判断出的结果就用delta里面的image或者attributes来进行操作。
editor组件如何获取图片点击事件?editor组件插入图片后,组件没有暴露出图片点击事件
06-24我是开发编辑器的时候,遇到这个问题,需要点击图片,打开我自定义的图片编辑弹窗。 没有找到Editor相关的图片点击事件,我用了下面这种方案实现了这个效果。 1、给Editor外层加了一个view监听点击事件,得到e.detail.x和y,知道点击的位置在哪。 2、目前EditorContext好像没有接口能直接获取某个坐标的元素是什么,我使用了EditorContext.getBounds来判断点击位置的元素是什么。不过需要先EditorContext.getContents获取delta,然后手动解析,目测好像所有数据都是在insert中(不确定除了insert是不是还有其他类型)。目测文本类型长度就是insert的长度,图片类型index长度就是+1。我for循环遍历EditorContext.getBounds({index: i,length: 1})得到的left、top、width、height来判断点击坐标是不是在范围内,这个接口获取的left、top是相对于屏幕的坐标,不需要进行额外的坐标转换(这里的for循环应该可以用二分法优化)。判断出的结果就用delta里面的image或者attributes来进行操作。
editor组件只读时,如何设置点击图片预览?我用editor组件来做文章的编写和显示,但是在内容显示时(readonly)点击图片不能预览,也不知道在哪里加入previewImage方法
06-23我是开发编辑器的时候,遇到这个问题,需要点击图片,打开我自定义的图片编辑弹窗。 没有找到Editor相关的图片点击事件,我用了下面这种方案实现了这个效果。 1、给Editor外层加了一个view监听点击事件,得到e.detail.x和y,知道点击的位置在哪。 2、目前EditorContext好像没有接口能直接获取某个坐标的元素是什么,我使用了EditorContext.getBounds来判断点击位置的元素是什么。不过需要先EditorContext.getContents获取delta,然后手动解析,目测好像所有数据都是在insert中(不确定除了insert是不是还有其他类型)。目测文本类型长度就是insert的长度,图片类型index长度就是+1。我for循环遍历EditorContext.getBounds({index: i,length: 1})得到的left、top、width、height来判断点击坐标是不是在范围内,这个接口获取的left、top是相对于屏幕的坐标,不需要进行额外的坐标转换(这里的for循环应该可以用二分法优化)。判断出的结果就用delta里面的image或者attributes来进行操作。
editor组件设置只读,进行内容回显后,用户点击某一图片,怎么触发事件或者拿到该图片的一些信息?<view class="container"> <view style="height: calc(100vh);"> <editor id="editor" class="ql-container" read-only="true" bindfocus="previewImage"> </editor> </view> </view> js部分,从后端获取富文本的delta进行回显 onEditorReady() { var that = this wx.createSelectorQuery().select('#editor').context(function (res) { that.editorCtx = res.context var jsonData = that.data.menuBar.jsonData var context = JSON.parse(jsonData) that.editorCtx.setContents({ delta: context }) }).exec() }, 我可以拿到delta里面的图片url数组,并通过wx.previewImage进行图片预览,但是无法根据下标index来判断从第几张图片开始预览
06-23我们昵称使用了scene=1,但是他这个审核的时候测试的词msgSecCheck返回了pass。我测试了scene=2、3都是review,已经搞不清楚他这个应该用什么了。
msgSecCheck接口的scene参数应该如何选择?msgSecCheck接口的scene参数应该如何选择 目前收到的站内警告并没有申诉入口,我们已经进行全面的调整,加了msgSecCheck接口的文本检测,但是不知道scene是否选择正确。 如果和审核人员用的scene不一样,是否直接判定违规了呢? 能否帮忙看一下,如何准确的选择scene
2024-09-30大哥,你解决了这个referer具体是什么
mediaCheckAsync 访问 media_url 时的 referer 是什么?CDN 设置了防盗链,想知道 mediaCheckAsync API 在访问我提供的图片时,referer 是什么,方便 CDN 设置白名单。 备注: 自己查了 CDN 的访问日志,好像 referer 是 - 不太确定,所以来社区问问
2024-09-30