Python可视化项目-资金管理系统(1)介绍

这是一个今年课程的可视化数据处理与展示的项目。本次实现的是一个资金管理系统。网站的前端是基于开源的模板进行制作的,后端是使用Flask进行开发,数据库使用了MySQL数据库,登录认证使用了flask-login模块进行管理,用户信息和数据都储存在数据库中。由于存在一些bug,目前还处于alpha版本,使用的相关模块和技术可能随时会发生更新,建议尝鲜使用,距离能投入实用还有一定距离。

项目的展示效果如下:

(1)首页的数据展示页面

首页数据展示

首页功能是整个项目的核心部分——数据展示。各类图表的生成使用的是Echarts,网站交互使用了Vue.js和jQuery,此外为了美观还引入了Bootstrap和font-awesome来设计布局和图标。数据源来自数据库,但是为了性能考虑,设置了静态缓存以JSON格式存储在服务器上,每次数据更新之后都会刷新,当然用户也可以通过菜单手动刷新数据。此外,后端设置了Async-JSON,可以循环切换不同的数据集,默认情况下都是展示同一个数据,需要在后端的py文件中自行设置多个数据源的参数。关于后端和数据库等软件的配置将在后续文章中逐步介绍。注意,为了保护数据安全,必须已登录才能查看首页内容。

(2)用户注册和登录

用户登录
用户注册

很普通的用户注册和登录,支持使用恢复密钥重置密码。但是目前遇到了一个bug,可能是由于后端对session管理的问题。特别是Web服务器重启之后,如果退出登录,按模块设计应该被拦截到登录页面,但是测试发现仍然能进入一些需要授权的页面。正在努力排除bug修复。

(3)数据数量统计

数据数量统计

数据数量统计可以很方便的展示出目前数据的总数,以及各个子项目的数据的数量,方便管理查看,必须已登录才能进入。此外,还提供了生成数据的接口,用于在数据不够的情况下生成数据进行测试,生成数据使用了专门的函数,可以根据需求定制修改。

(4)数据生成

数据生成

根据用户的需求自动生成一定数量的数据,必须已登录且完成二次验证才能使用。可以在后端设置按照一定概率,或者随机生成。该模块的开发修改余地比较大,目前前端的界面略显简陋,很多参数必须在服务器的后端程序中才能修改,很不方便,之后可能会视情况进行更新优化。

(5)用户中心

用户中心

用户中心目前的功能是查看用户名,邮箱和恢复密钥,必须已登录才能进入。用户头像目前还没有开发用户自定义功能,是在网页提供的100个头像库中随机抽取来展示。

(6)敏感操作二次确认

敏感操作二次确认

在进行查看恢复密钥,已登录修改密码和生成新数据等敏感操作的情况下,一般要求用户的登录是新鲜(fresh)的,如果不是需要进行二次验证恢复登录的状态。目前我是自行实现了这个功能,但是flask-login模块的文档中提到内置支持了fresh login,如果修改难度不是很大,那么这种方案可能会更完美,因为目前的实现有些时候验证完成之后的URL转跳会出现一定的混乱。

(7)查看用户的恢复密钥

查看恢复密钥

这里用户可以管理自己的恢复密钥(必须已登录且需要先二次验证),目前还只支持查看功能,下一个版本可能会提供手动重置的功能,目前只有在新注册/修改/重置了密码的情况下,恢复密钥才会自动更改。用户新注册之后首次登录,会直接跳到该界面要求用户记录恢复密钥以备忘记密码的情况。

(8)重置密码

重置密码

此界面用于修改或重置密码,可以在未登录的情况下访问。不同情况下校验逻辑有所不同,已登录时功能为修改密码,输入原密码可以完成修改密码,修改后系统自动登出并转跳到登录界面;未登录时功能为忘记密码后的重置,此时校验恢复密钥是否正确。如果忘记了恢复密钥,需要联系网站/数据库管理员,手工查找账户的恢复密钥。

暂无评论

相关推荐

暂无相关文章!