简账(开源记账软件)-功能介绍

10,279 阅读3分钟

前言

由于自己有记账的需求,在尝试使用过市面上的记账软件后,发现大多数都有以下几个问题

  • 广告比较多,主要分为信息流广告及金融类广告
  • 页面太痈肿,使用体验不好
  • 部分高级功能需要收费,如数据导出

所以就萌生了自己做一个记账软件的想法,这个想法在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

二、主要功能

  1. 用户登陆 如果为小程序用户,微信授权即可登陆 如果为PC端用户,微信扫码授权即可登陆 在这里插入图片描述

  2. 账户设置 在这里插入图片描述

  3. 用户管理 在这里插入图片描述

  4. 角色管理 在这里插入图片描述

  5. 权限管理 在这里插入图片描述

  6. 记账(收入支出) 在这里插入图片描述

  7. 月账单 在这里插入图片描述

  8. 图表分析 在这里插入图片描述

三、项目难点

我是一个工作两年的Java后端🐶,PC端及小程序部分代码写的不是很好,仅以功能实现为主。
如果您看了源码,发现有写的不好的地方,可以提交PR :)

在我实践的过程中,我认为比较难的地方有以下几个**(由于篇幅,此处仅介绍思路)**

  1. 权限控制+前端动态路由

    后端主要分为两个部分

    • 授权:后端校验过账号密码后,利用JWT生成token(useId+权限字符集)后传给前端
    • 鉴权:前端请求时带上token,经过过滤器Filter时,解析token中的内容,判断是否有对应的权限,如有则放行

    前端:利用token获取到当前的菜单列表,递归生成Routes 简账中实现:动态菜单实现

  2. 微信扫码小程序授权登陆

这里的授权是指微信扫码后会跳转至小程序内,小程序内部发起授权

主要分为两个部分,我画了一个简易的图

ubuntu的画图软件怎么没有画箭头的工具阿~ tnt

在这里插入图片描述 需要注意的时PC端轮询时会获取到三种状态

  1. 已扫描
  2. 已过期
  3. 已授权

需要根据这三种状态需做不同的展示

四、总结

后续博客内容:

  1. 环境搭建
  2. 数据库设计
  3. SpringBoot集成SpringSecurity+JWT及动态路由生成
  4. 小程序扫码登陆实现
  5. 记账及月账单实现
  6. 图表分析实现
  7. ...

简账开发者:

  1. SloppyJack
  2. SmallishJoker