简账(开源记账软件)-功能介绍
前言
由于自己有记账的需求,在尝试使用过市面上的记账软件后,发现大多数都有以下几个问题
- 广告比较多,主要分为信息流广告及金融类广告
- 页面太痈肿,使用体验不好
- 部分高级功能需要收费,如数据导出
所以就萌生了自己做一个记账软件的想法,这个想法在2020年5月左右落地的,到目前也快有一年了。
本着OpenSource的想法,已全部开源,也想借写博客的机会获得一些Star❤
正式环境体验:
- 小程序:微信搜索【简账】
- PC端:简账PC端
Github开源地址:
后续要完成的功能(重要性至上而下)
- 支持多账本,可自定义维护
- 支持设置预算(年月预算)
- 支持多账本间冲销
- 支持Excel导出(年或月可自定义)
- 支持多人记账及家庭账本
写在后面
如果你有其他的想法或问题欢迎给我留言,或在Github上提Pr&Issue
tips:如果你也想你写的东西被人使用,欢迎跟我一起维护简账~
一、主要技术栈简介
- 后端:SpringBoot、SpringSecurity、JWT、MybatisPlus、Redis
- PC端:Vue 2.6、Vue Router、Vuex、axios、AntDesign Vue 3.0
- 小程序:Uniapp、UView
二、主要功能
-
用户登陆
如果为小程序用户,微信授权即可登陆
如果为PC端用户,微信扫码授权即可登陆
-
账户设置
-
用户管理
-
角色管理
-
权限管理
-
记账(收入支出)
-
月账单
-
图表分析
三、项目难点
我是一个工作两年的Java后端🐶,PC端及小程序部分代码写的不是很好,仅以功能实现为主。
如果您看了源码,发现有写的不好的地方,可以提交PR 😃
在我实践的过程中,我认为比较难的地方有以下几个**(由于篇幅,此处仅介绍思路)**
-
权限控制+前端动态路由
后端主要分为两个部分
- 授权:后端校验过账号密码后,利用JWT生成token(useId+权限字符集)后传给前端
- 鉴权:前端请求时带上token,经过过滤器Filter时,解析token中的内容,判断是否有对应的权限,如有则放行
前端:利用token获取到当前的菜单列表,递归生成Routes
简账中实现:动态菜单实现 -
微信扫码小程序授权登陆
这里的授权是指微信扫码后会跳转至小程序内,小程序内部发起授权
主要分为两个部分,我画了一个简易的图
ubuntu的画图软件怎么没有画箭头的工具阿~ tnt
需要注意的时PC端轮询时会获取到三种状态
- 已扫描
- 已过期
- 已授权
需要根据这三种状态需做不同的展示
四、总结
后续博客内容:
- 环境搭建
- 数据库设计
- SpringBoot集成SpringSecurity+JWT及动态路由生成
- 小程序扫码登陆实现
- 记账及月账单实现
- 图表分析实现
- …
简账开发者: