文章目录

  • 简账(开源记账软件)-功能介绍
  • 前言
  • 一、主要技术栈简介
  • 二、主要功能
  • 三、项目难点
  • 四、总结



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


前言



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

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

所以就萌生了自己做一个记账软件的想法,这个想法在2020年5月左右落地的,到目前也快有一年了。
本着OpenSource的想法,已全部开源,也想借写博客的机会获得一些Star❤

正式环境体验:

  • 小程序:微信搜索【简账】
  • PC端:简账PC端

Github开源地址:

后续要完成的功能(重要性至上而下)






写在后面
如果你有其他的想法或问题欢迎给我留言,或在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. android 记账app 开源 记账软件开源_android 记账app 开源

  3. 账户设置
  4. android 记账app 开源 记账软件开源_小程序_02

  5. 用户管理
  6. android 记账app 开源 记账软件开源_小程序_03

  7. 角色管理
  8. android 记账app 开源 记账软件开源_java_04

  9. 权限管理
  10. android 记账app 开源 记账软件开源_小程序_05

  11. 记账(收入支出)
  12. android 记账app 开源 记账软件开源_android 记账app 开源_06

  13. 月账单
  14. android 记账app 开源 记账软件开源_java_07

  15. 图表分析
  16. android 记账app 开源 记账软件开源_android 记账app 开源_08

三、项目难点

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

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

  1. 权限控制+前端动态路由
    后端主要分为两个部分
  • 授权:后端校验过账号密码后,利用JWT生成token(useId+权限字符集)后传给前端
  • 鉴权:前端请求时带上token,经过过滤器Filter时,解析token中的内容,判断是否有对应的权限,如有则放行

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

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

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

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

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

android 记账app 开源 记账软件开源_小程序_09


需要注意的时PC端轮询时会获取到三种状态

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

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

四、总结

后续博客内容:

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

简账开发者:

  1. SloppyJack
  2. SmallishJoker