今天跟大家唠唠我搞的这个“更好还是更糟官网”的小项目,纯粹是自己瞎折腾,但也有些心得,分享出来大家一起乐呵乐呵。
事情是这样的,之前老在网上看到各种投票,问这个好还是那个但感觉都差点意思,要么选项太少,要么评论区吵得不可开交。我就寻思,能不能自己做一个简单点的网站,让大家更直观地表达自己的看法,还能看看结果,心里有个数。
说干就干,我先拿纸笔画了个草图,把网站大概的样子给定了下来。就一个页面,上面放两个选项,下面一个投票按钮,再下面显示投票结果。简单粗暴,突出一个实用。
然后就开始选技术。前端我熟练点,就直接用了 *,毕竟写起来快,组件化也方便。后端一开始想用 *,但后来一想,我那服务器是 Python 搭的,干脆就用 Flask ,省得再搞一套环境。数据库就用了 SQLite,反正数据量也不大,轻量级够用。
环境搭好之后,就开始撸代码。前端部分,我先用 Vue Cli 创建了一个项目,然后把页面结构搭起来。两个选项用 `radio` 按钮实现,投票按钮就一个简单的 `button`。为了让页面好看点,我稍微加了点 CSS,让整体风格简洁明快。
后端部分,我用 Flask 写了几个 API 接口。一个接口用来获取当前投票结果,一个接口用来处理投票请求。投票的时候,先检查用户是否已经投过票,防止刷票。如果没投过,就把用户的 IP 地址记录下来,然后更新数据库中的投票数。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
前后端联调的时候,遇到了一些小问题。比如,跨域请求被浏览器拦截了。这个好解决,在 Flask 的配置里加上 `CORS(app)` 就行了。还有就是,投票结果显示不实时。我加了个 `setInterval` 定时器,每隔几秒钟就刷新一下投票结果。
网站上线之后,我先自己投了几票,测试了一下功能。没啥大问题,就发到几个群里,让朋友们帮忙测试。结果,大家玩得还挺嗨的,纷纷发表自己的看法。
不过也发现了一些问题。比如,有人反映说选项太少,希望可以增加选项。还有人说,希望可以增加评论功能,方便大家交流。这些建议我都记下来了,准备以后慢慢改进。
这回实践还是挺有意思的。虽然网站很简单,但让我对前端、后端、数据库都有了更深的理解。而且看到自己的作品被大家使用,心里还是挺有成就感的。以后有机会,我会继续完善这个网站,让它变得更