案例218:“校园资料分享微信小程序”的设计与实现

文末获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

目录

前言

系统展示

管理员功能实现

教师管理

论坛管理

文件收藏管理

公告信息管理

教师功能实现

文件信息管理

论坛管理

用户功能实现

文件信息

论坛信息

我发布的文件

我的发帖

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

通过移动互联网这几年的发展,单独的开发某些APP已经到了日暮西山的地步,原因不在于单个的APP功能丰富与否,而是因为用户生态体系的问题。使用智能手机的用户经过多年的使用习惯,已经越来越不喜欢安装各种的APP,除了正常生活和工作所必须的APP,不喜欢因为喜欢某些内容而被强制安装APP软件了。最近几年,随着微信生态的布局,通过开发微信小程序接口,让广大用户可以通过微信直接访问小程序,不需要去专门安装那些APP,这一点让很多用户喜爱,基本上只要能转向微信生态的业务,许多企业都已经开始拥抱微信小程序。本课题就是研究和实现一款校园资料分享微信小程序。

校园资料分享微信小程序可以实现论坛管理,教师管理,公告信息管理,文件信息管理,文件收藏管理等功能。该系统采用了SpringBoot框架,Mysql数据库,Java语言等技术实现管理员后台,采用微信开发者工具来对用户小程序端进行了开发。

校园资料分享微信小程序让文件信息,论坛信息等相关信息集中在后台让管理员管理,让用户在小程序端下载文件,分享文件,参与信息交流,该系统让信息管理变得高效,也让用户下载文件,查看交流信息等变得越来越方便。


系统展示

管理员功能实现

教师管理

图5.1 即为编码实现的教师管理界面,教师信息需要管理员添加,管理员也能使用修改功能对教师的联系方式,身份证号等信息进行更正。

 

论坛管理

图5.2 即为编码实现的论坛管理界面,管理员可以使用修改功能对有错误数据的论坛帖子进行更正,可以直接删除传播不良信息的论坛帖子,以及对论坛帖子的回复进行查看。

 

文件收藏管理

图5.3 即为编码实现的文件收藏管理界面,用户收藏的文件信息,管理员可以查看,管理员也能使用删除功能对需要删除的文件收藏信息进行删除。

 

公告信息管理

图5.4 即为编码实现的公告信息管理界面,管理员对公告增删改查管理。

 

教师功能实现

文件信息管理

图5.5 即为编码实现的文件信息管理界面,教师下载管理员上传的文件,教师可以把文件标识为重点,也能取消文件的重点标识信息,教师查询文件信息,需要根据文件状态或文件名称查询文件。

 

论坛管理

图5.6 即为编码实现的论坛管理界面,教师新增论坛帖子,教师对自己的帖子进行跟踪,包括随时查看论坛帖子的回复,以及删除论坛帖子的回复或对论坛帖子发布回复信息。

 

用户功能实现

文件信息

图5.7 即为编码实现的文件信息界面,用户查看文件的标识信息,查看文件状态,下载文件,收藏喜欢的文件。

 

论坛信息

图5.8 即为编码实现的论坛信息界面,用户查看论坛信息界面展示的所有的帖子,每当用户查看完帖子内容之后,都可以评论帖子。

 

我发布的文件

图5.9 即为编码实现的我发布的文件界面,用户也能发布文件,点击新增按钮就可以登记文件信息,上传文件,最后提交。用户自己发布的文件,用户也可以删除。

 

我的发帖

图5.10 即为编码实现的我的发帖界面,用户点击新增按钮即可发布帖子,我的发帖界面展示的帖子都是用户自己发布的帖子,所以用户可以删除帖子,也能对自己的帖子的内容以及回复信息进行查看。

 


代码实现

登录功能实现代码

@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);
	}

注册功能实现代码

@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();
    }

密码重置功能实现代码

@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");
    }

修改信息功能实现代码

 @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();
    }

删除信息功能实现代码

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

保存信息功能实现代码

@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();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值