案例149:基于微信小程序的家庭财务管理系统的设计与实现

news/2024/7/20 2:29:06 标签: 微信小程序, 小程序, java, 微信, 开发语言

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

目录

前言

系统展示

用户功能模块的实现

用户注册登录界面

首页界面

收支记录界面

留言板界面

家庭年度收支界面

我的界面

管理员功能模块的实现

管理员登录界面

用户管理界面

收支记录管理界面

财务明细管理界面

理财计划管理界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着计算机技术的成熟,互联网的建立,如今,PC平台上有许多关于家庭财务管理方面的应用程序,但由于使用时间和地点上的限制,用户在使用上存在着种种不方便,而开发一款基于微信小程序>微信小程序的家庭财务管理系统,能够有效地解决这个问题。

本基于微信小程序>微信小程序的家庭财务管理系统采用WXML 、WXS、JS小程序编写语言、微信开发者工具进行微信端开发,使用MYSQL数据库进行储存系统数据,以微信为入口的,具有快捷、轻便的特点,不占内存,不用下载、安装,而且访问速度很快。系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了家庭财务管理的重要功能。

“操作简单,功能实用”这是本软件设计的核心理念,本系统力求创造最好的用户体验。


系统展示

用户功能模块的实现

用户注册登录界面

没有账号的用户可进行注册操作,注册后可进入登录界面进行登录系统

 

首页界面

用户登录后进入系统首页 

 

收支记录界面

用户登录后可增删改查收支信息 

 

留言板界面

用户可进入留言板界面进行添加留言 

 

家庭年度收支界面

用户可增删改查家庭年度收支信息 

 

我的界面

用户在我的界面可根据需求进行相应模块的操作 

 

管理员功能模块的实现

管理员登录界面

管理员要想进入系统后台对系统进行管理操作,必须登录系统后台 

 

用户管理界面

管理员登录后可查看、新增、修改和删除用户信息

 

收支记录管理界面

管理员可查看、添加、修改和删除收支记录信息

 

财务明细管理界面

管理员可查看、添加、修改和删除财务明细信息

 

理财计划管理界面

管理员可以管理理财计划信息

 


代码实现

登录功能实现代码

java">@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}

注册功能实现代码

java">@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

密码重置功能实现代码

java">@IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }

修改信息功能实现代码

java"> @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

删除信息功能实现代码

java">@RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

保存信息功能实现代码

java">@PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }


http://www.niftyadmin.cn/n/5282939.html

相关文章

Hadoop入门学习笔记——六、连接到Hive

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 六、连接到Hive6.1. 使用Hive的Shell客户端6.2. 使用Beel…

微信小程序---自动更新版本

记录小程序新版本发布上线后&#xff0c;用户根据提示自己重启小程序完成版本更新效果。 1.小程序的运行机制 冷启动&#xff1a;如果用户首次打开&#xff0c;或小程序销毁后被用户再次打开&#xff0c;此时小程序需要重新加载启动&#xff0c;即冷启动。 热启动&#xff1a…

STM32f103c8t6 系统结构介绍

Cortex-M3内核引出三条总线&#xff1a;ICode 指令总线、DCode 数据总线、System 系统总线。ICode总线和DCode总线主要用来连接Flash闪存的&#xff08;Flash里面存储的就是我们编写的程序&#xff09;&#xff0c;ICode指令总线是用来加载程序指令的&#xff0c;DCode数据总线…

minicube搭建golang容器服务

引言 最近在自己电脑上搭建一个小型k8s环境&#xff0c;以学习云原生相关内容。这里我主要分为三部分记录&#xff1a; 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中&#xff0c;先总结整理下&#xff0c;这里后续补充上我的github工程链接。 一、容器及容器编排理…

了解米勒-拉宾素性测试算法

引言 素数在密码学、计算机科学和数学领域有着重要的应用。米勒-拉宾素性测试算法是一种用来判断一个数是否为素数的概率性算法,本文将介绍该算法的原理、实现以及应用。 素数及其重要性 在数学中,素数(质数)指的是只能被 1 和自身整除的自然数,如 2、3、5、7 等。素数…

【Spring Security】分布式鉴权的使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Spring Security》。&#x1f3af;&#x1f3af; …

网络协议-BIO实战和NIO编程

网络通信编程基本常识 原生JDK网络编程-BIO 原生JDK网络编程-NIO Buffer 的读写 向 Buffer 中写数据 写数据到 Buffer有两种方式: 1. 读取 Channel写到 Buffer。 2.通过 Buffer 的 put0方法写到 Buffer 里。 从 Channel 写到 Buffer …

细粒度语义对齐

抽象 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而&#xff0c;他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐&#xff0c;因为只有…