easy-marker icon indicating copy to clipboard operation
easy-marker copied to clipboard

修复createLine因pointList为空而报错的问题。

Open zhiqinyigu opened this issue 3 years ago • 6 comments

iPhone 6s IOS9的points有可能为空,因为highlight()里rect.width === 0。

zhiqinyigu avatar Mar 03 '21 06:03 zhiqinyigu

@leaves4j 哈喽,可以抽空看一下这个问题发个版吗?

zhiqinyigu avatar Mar 03 '21 06:03 zhiqinyigu

请提供一下具体的异常信息和复现 case

leaves4j avatar Mar 03 '21 07:03 leaves4j

就是同一些笔记标记,在电脑没问题,其它手机没测,只是在我的ios9出现。 这个应该是设备原因, TextNode.getSelectNodeRectAndText取得的rect.width又可能为0(多出来的数据),导致的。

image image

zhiqinyigu avatar Mar 03 '21 07:03 zhiqinyigu

我给一下log信息你吧

zhiqinyigu avatar Mar 03 '21 07:03 zhiqinyigu

step 1: 这里是createLine,现在肉眼分析可知e[2]或e[3]为空时会报错

image

step 2: 这里在createLine的上游提前输出一些信息

image

step 3: 请求我们项目的笔记数据后调用highlightLines。

image

step 4: iPhone 6s(IOS9)下有报错,我们看看points和relativeRects

image image

step 5: PC下没有报错,我们看看points和relativeRects,比iPhone 6s(IOS9)少一项多余的

image

zhiqinyigu avatar Mar 03 '21 08:03 zhiqinyigu

@leaves4j 看看我要怎么协助你 😂,这个是跟设备关联的,不是代码的问题。计算points那部分的代码我没有深入看。

zhiqinyigu avatar Mar 03 '21 08:03 zhiqinyigu