基于微信小程序的宠物寄养平台小程序

文末联系获取源码

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

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

一、前言介绍 

本基于微信小程序的宠物寄养平台正是采用微信小程序技术和网络设计的新型系统,可以有效的把宠物寄养信息与网络相结合,为用户提供寄养帮助和管理需求。本系统采用 MySQL 数据库存储数据,兼容性更强,可跨越多种平台,采用的框架为SSM。主要设计的内容包括宠主管理、宠物种类管理、寄养环境管理、宠物寄养管理等。使用用户分为管理员和普通用户。用户可以浏览寄养环境并在线寄养。本系统是信息化社会发展的必然产物,可以为用户提供更为高效的管理以及辅助,同时也可以改变宠物寄养管理的局面,提高效率。 

二、系统功能分析

本系统包括微信部分和电脑部分,在微信部分展示了寄养环境,用户可以选择喜欢的环境进行宠物的寄养并在线支付寄养费用。管理员可以管理宠物信息、宠主信息和寄养信息、寄养环境信息等。

2.1系统用例图

本系统的主要角色为管理员和用户,管理员的用例包括宠主管理、宠物信息管理、宠物种类管理、宠物寄养管理、寄养环境管理、评价管理和系统管理。管理员的用例图如下图所示: 

基于微信小程序的宠物寄养平台小程序_第1张图片

用户的用例包括浏览寄养环境信息和进行寄养管理寄养信息等。用户用例图如下图所示: 

基于微信小程序的宠物寄养平台小程序_第2张图片

2.2系统功能结构设计

一个好的设计不止是功能完整,操作流畅,还要符合用户的审美和界面的友好。在进入正式系统实施前,不可缺少的步骤为系统的总体结构设计,本系统为实用性的系统,所以开发的功能都是针对宠物寄养信息相关的。本系统的结构可以分为管理员界面和用户功能界面。在管理员界面主要展示的是用户和宠物寄养相关的信息,在用户界面展示的主要是查看信息、在线寄养和寄养管理。本系统的总体结构图如下图所示: 

基于微信小程序的宠物寄养平台小程序_第3张图片

 三、小程序端

3.1登录功能模块 

登录功能包括用户登录和管理员登录,在登录界面设计中包括用户名和密码、角色的检验。用户名和密码、角色的检验过程由数据库自动完成,此过程需要1秒左右。首先由用户填写账号和密码,选择角色,然后点击登录系统,数据库自行对用户名和密码进行对比,所填写数据正确方能进行登录,所填写数据错误则需要返回登录界面重新登录。用户登录界面的设计运行界面效果如下图所示: 

基于微信小程序的宠物寄养平台小程序_第4张图片

3.2宠物寄养管理功能模块

用户可以在线寄养,首先需要选择寄养环境然后填写寄养信息、支付费用完成寄养。用户填写寄养信息.功能的实现界面如下图所示: 

基于微信小程序的宠物寄养平台小程序_第5张图片

3.3用户注册功能模块

用户注册可以实现拥有账号和密码,用户注册功能界面的运行效果界面如下图所示: 

基于微信小程序的宠物寄养平台小程序_第6张图片

3.4首页功能模块

首页可以看到所有的公告信息和寄养的环境信息。首页功能的实现界面如下图所示: 

基于微信小程序的宠物寄养平台小程序_第7张图片

3.5我的界面模块

我的界面主要的功能就是对寄养信息、收藏信息进行管理。我的功能实现界面如下图所示: 

基于微信小程序的宠物寄养平台小程序_第8张图片

四、管理员中心界面模块

管理员主要的功能为宠主管理、系统管理、宠物种类管理、寄养环境管理和宠物寄养管理等。实现界面如下图所示: 

基于微信小程序的宠物寄养平台小程序_第9张图片

五、部分核心代码

5.1登录系统主要代码

/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );
		return R.ok().put("token", token);
	}

5.2上传文件关键代码

@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		/**
  		 * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
   		 * 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
 		 * 并且项目路径不能存在中文、空格等特殊字符
 		 */
//		FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}

你可能感兴趣的:(微信小程序,小程序,微信小程序,宠物,java,毕业设计)