2000 Star,是时候为我的开源项目更新下功能了
哈喽啊,我是阿朗,马上就要年末了,已经半年多没有更新文章了。年初定的计划早已经忘的一干二净。再不捡起来一点东西,就要2025年了。
要写点东西了。
你是一个博客撰写专家,你擅长开发领域,你喜欢使用通俗易懂的语言编写博客内容。你文风平易近人,偶尔幽默。
现在我需要你根据我的要求...... 不好意思,24年和 AI 聊的天太多了,今年上班时间的技术问题基本都是 AI 对话处理。没办法,TA 懂的实在是太多了,说话又好听,旁边的同事都觉得我有点冷落了他,要找 AI 讨个说法,现在还在和 AI 对话。
言归正传,这篇文章介绍我的一个开源项目的新功能,这是一个关于必应壁纸收集的项目,它每天自动采集必应搜索的首页壁纸,上传到 GitHub 仓库。同时生成一个在线网站以供浏览下载。其实,最初创建这个项目时,并没有过多的考虑和规划。只是觉得必应搜索主页的的每日壁纸通常都十分精美,非常喜欢。手动下载实在太麻烦,不如写个程序自动抓取,没想到几年下来,项目已经获得了 2000 多 Star。

开源地址:https://github.com/niumoo/bing-wallpaper
因为程序运行稳定,抓取稳定。没有再进行过大的更新。
更新原因
随着时间推移,我发现这个项目有越来越多的人喜欢,GitHub 仓库上积累了 2000 多 Star,网站的访问量也不断增加。目前网站每天的访问量 PV 10000 左右,UV 1500 左右,既然这么多人喜欢,那么这个项目就不完全属于我了,我决定发起一个问卷调查,看看大家想要什么功能,针对性的进行功能迭代。
功能更新
我使用腾讯在线问卷发起一个功能投票,并把链接放到网站上。一段时间后我收到了80多份用户建议数据,进行分类统计后。对呼声较高的功能一一实现,下面是详细更新内容。

壁纸详情
过去,用户在首页只能看到壁纸缩略图,可以直接下载,但是没有关于图片的更多信息。这就导致用户觉得这个图片风景不错,是什么地方呢?不知道。

现在用户可以在壁纸详情页了解壁纸的作者、壁纸内容说明信息。这让用户不仅能欣赏到美丽的壁纸,还能了解它背后的故事。
壁纸搜索功能
其实我觉得这一点壁纸数量,壁纸内容又非常简单,很难有不错的搜索效果,但是还是实现了一些。现在在菜单栏将可以通过输入关键字来快速检索想要的壁纸。不再让你陷入“我之前见过一张非常好看的壁纸,但我忘了是什么了”的苦恼中。
搜索使用的是一个轻量级的模糊搜索 Js 库,因为壁纸数据其实不大。可以前端直接加载。
这里使用的是 Fuse.js。
下面是它的开源地址:https://github.com/krisk/Fuse
自适应的全屏显示
不少用户希望能够将我们的壁纸项目作为浏览器的首页,但之前的显示效果有些局限。对此,优化了页面布局,确保无论是在电脑、平板,还是手机上,首页都是全屏展示。

日期翻页浏览
壁纸每天一张,如果看多个壁纸,那么需要一个一个点击进入壁纸详情页,因此很多用户想要在详情页通过按下方向按键直接跳转昨天或者下一天的壁纸。
为了让用户体验更流畅,也实现了这个功能。
你可以到任意一个页面然后按下左右键翻页浏览图片。
如:https://bing.wdbyte.com/zh-cn/day/202404/30
夜间模式
无需多说,夜间浏览,保护眼睛。

夜间模式通过开源 JS 库 darkmode.js 实现,引入这个库然后复制粘贴初始化代码,就会得到一个可以打开和关闭暗黑模式的小部件。也可以通过编程方式使用它,非常轻量,只有 3kb 大小。
他们的官网:https://darkmodejs.learn.uno/
登录收藏功能
想要将喜爱的壁纸保存下来,却又怕下次丢失了找不到?这次更新后允许用户登录后进行收藏。当遇见中意的壁纸时,只需一个简单的点击,即可将其收藏起来,在想要回顾时候轻松找到。

登录功能需要后端实现,之前写过一篇关于如何通过微信公众号扫码登录网站?的文章。这次的登录功能是相似的,但是个人公众号微信没有开放获取扫码登录二维码的权限。只能采用曲线救国的方式,用户输入数字验证码,同时浏览器向后端监听验证状态,这在用户量小的情况下没有问题。

最后欢迎你的访问:https://bing.wdbyte.com
写在末尾
公众号:程序猿阿朗
开源地址:https://github.com/niumoo/bing-wallpaper
壁纸网站:https://bing.wdbyte.com
2000 Star,是时候为我的开源项目更新下功能了的更多相关文章
- 微人事 star 数超 10k,如何打造一个 star 数超 10k 的开源项目
看了下,微人事(https://github.com/lenve/vhr)项目 star 数超 10k 啦,松哥第一个 star 数过万的开源项目就这样诞生了. 两年前差不多就是现在这个时候,松哥所在 ...
- 5 天 4000 star 的一个爆款开源项目
今天早上起来浏览 GitHub 的时候,在周热门趋势排行榜上看到了这么一个开源项目,仅仅 5 天时间,爬到了周排行榜的第一名的位置.而在每天的排行榜上,今天一早也高高位居排行榜的第二位. 这个开源项目 ...
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- iOS及Mac开源项目和学习资料【超级全面】
UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...
- GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...
- Android开源项目第一篇——个性化控件(View)篇
本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...
- iOS开发--iOS及Mac开源项目和学习资料
文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...
- Android开发UI之开源项目第一篇——个性化控件(View)篇
原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍A ...
- iOS、mac开源项目及库汇总
原文地址:http://blog.csdn.net/qq_26359763/article/details/51076499 iOS每日一记------------之 中级完美大整理 iOS.m ...
随机推荐
- [TK] Terrible Prime
题目链接 T415418 这道题严格的时间限制比较令人头疼,似乎需要一些高级的算法,但实际上是,想要用点基础知识通过这道题需要两种算法:费马小定理 (见下函数Miller_rabin) 用于subta ...
- 【赵渝强老师】MongoDB中的索引(上)
索引是提高查询查询效率最有效的手段.索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中, ...
- el-table 宽度自适应bug
和 flex 一起使用的时候会有这个问题.只能自动变宽不能自动变窄. 在 flex-grow:1; 的那一层设置 overflow: auto;
- 专题 求数列的前n项和
\(\mathbf{{\large {\color{Red} {欢迎到学科网下载资料学习}} } }\)[[高分突破系列]高二数学下学期同步知识点剖析精品讲义! \(\mathbf{{\large { ...
- 如何使用echarts
官网:https://echarts.apache.org/handbook/zh/get-started/ a 下载js文件并引入 b 初始化实例对象 echarts.init(获取盒子对象) 关 ...
- 基于腾讯云短信接口和nodejs服务器实现手机号验证码
知识储备:js基础.nodejs基础.ajax基础: 1. 手机验证码原理 表单提交,把手机号码传送到后端:后端拿到手机号码后根据相关算法随机形成一个验证码,并将其保存在数据库:用户拿到验证码后将验证 ...
- 09-react的组件传值 props
// 组件传值 props 接收传递过来的数据 import ReactDom from "react-dom" import { Component } from "r ...
- 如果读完这几百 Python 的书籍,能成编程大佬吗? #Python 入门 #编程 #编程学习 #知识分享
- Vulnhub 靶机 THE PLANETS: EARTH
0x01信息收集 1.1.nmap扫描 IP段扫描,确定靶机地址 平扫描 nmap 192.168.1.0/24 扫描结果(部分) Nmap scan report for earth.local ( ...
- Java和Python的区别
Java和Python区别 二者的区别有以下几点:1.Java必须显式声明变量名,而动态类型的Python不需要声明变量.2.Python虚拟机没有Java强,Java虚拟机是Java的核心,Pyth ...