Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG 首屏随即图出现闪现 #499

Open
ITTWTTI opened this issue Apr 23, 2024 · 7 comments
Open

BUG 首屏随即图出现闪现 #499

ITTWTTI opened this issue Apr 23, 2024 · 7 comments

Comments

@ITTWTTI
Copy link

ITTWTTI commented Apr 23, 2024

目前使用的 Sakura 版本?

2.1.0

目前使用的 halo 版本?

2.14.0

建议/问题

能否提供关闭随即图延迟占位方式的选项

我自己实现了一个完全随机图的api,但是因为有延迟展位的功能,导致图片加载好之后会再次调用接口,首屏随即图会快速切换,产生闪现的效果

@ITTWTTI
Copy link
Author

ITTWTTI commented Apr 24, 2024

QQ截图20240425001142
目前已通过适配api解决了这个问题,但是接口仍有多次重复调用的问题

@jinyanshenxing
Copy link

我也出现了这种情况 刷新了两次

@LIlGG
Copy link
Owner

LIlGG commented Apr 26, 2024

能否提供一下你的网站,我来看看具体的效果是什么样的

@jinyanshenxing
Copy link

https://yanxudong.com/

@LIlGG
Copy link
Owner

LIlGG commented Apr 26, 2024

感谢提供的网站。这个可能需要对 API 接口进行幂等处理。如果不增加占位图,在大部分情况下会导致页面渲染非常差。尤其是对于首页文章列表的图片。

我们可以分析一下两次请求:

?home=home&type=url&itype=image&th=150&t=H

?home=home&type=url&itype=image&t=H

可以看出除了 th=150 之外,其余参数均一致。因此 API 接口需要保持幂等性来保证相同的参数返回的图片相同。
也可以直接忽略 th=150 这样的参数。

如果有什么更好的解决办法,可以进行讨论。

@LIlGG
Copy link
Owner

LIlGG commented Apr 26, 2024

而对于一个随机图接口来说,短时间内返回同样的图片是很有必要的。假设现在没有幂等性处理,即上述的随机图接口,那么可能出现的问题如下:

  1. 在首页文章列表请求随机图接口 ?postid=23&type=url&itype=album&id=p62&th=150,此时返回了一个随机图 A.jpg。
  2. 我点击此文章,进入文章详情,此时又会请求 ?postid=23&type=url&itype=album&id=p62,此时接口返回了随机图 B.jpg。

这种场景下,就会给用户一种,我是不是点错了的错觉。因为随机图发生了变化。此时你再刷新文章列表,图片又发生了变化。这是比较不好的一种体验。

可以使用缓存的方式来解决此问题。

@jinyanshenxing
Copy link

观感也没啥的,就是接口用的别人的,刷新多了容易被拉黑。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants