首页 > 编程语言 >基于微信小程序的流浪动物救助收养系统 uniApp

基于微信小程序的流浪动物救助收养系统 uniApp

时间:2024-10-14 10:49:28浏览次数:3  
标签:username uniApp return 微信 系统 user userService 收养 public

项目介绍

动物是自然界的生命体,任何生命都值得尊重,人们对于动物的态度体现了人类文明的程度。我国是生物多样性最丰富的国家之一,前后出台了多项政策法规维护生物多样性和生态平衡,以此推进生态文明建设。经过长期的努力,以政府及管理部门为救助主导力量,同时拓宽参与渠道,完善激励政策,号召公众广泛参与救助和保护动物,做到人人尽责、人人出力,我国的动物保护工作取得了显著成效。
在依靠国家政策法规约束、保护及救助机构服务的同时,公众的积极配合是强有力的支撑,也是每个公民保护生物的份内之事。在日常生活或外出活动中,我们会经常遇到受困的动物或者有害于动物生存的行为,有些时候可以凭一己之力进行解救或处理,但是大部分时候却无能为力。例如,发现排放废弃物或者有害垃圾造成动物赖以生存环境的污染,不法行为造成动物生存环境的破坏,不法猎取、猎杀或买卖动物,面临动物处于险境受困不知如何救助,被遗弃动物濒临生存危机或造成社会危害……在非常情况下,动物缺乏自我脱困能力,更加容易受到伤害。类似情况发生时,如何快速地与相关部门或组织联系并准确的表述情况成为动物救助的关键问题。所以需要搭建一个方便好用的平台,以便求助者及时获取相关信息、建立求助通道。

项目实现效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所需技术栈

小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7(推荐版本,其他的也可以)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9

文件解析

pages 主要页面, 其中pages文件夹中 index文件中可布局底部的tab页面,通过v-if判断显示不同的tab页
colorui 使用了color-ui样式,个人认为样式非常好看,非常感谢!
static目录: 存放静态文件
App.vue: 页面入口文件
main.js: 项目入口文件
manifest.json: 存放App信息
pages.json: 页面信息
uni.scss: 全局样式

微信开发者工具

微信开发者工具是由腾讯官方专门为微信小程序量身打造的开发者工具,它不仅轻巧、方便,主要是的对于电脑要求不是很高,所以在一般的电脑上都可以完成相应的开发,在系统调试测试过程中,也不要下载第三方插件,就可以完成系统测试环节,通过制定好的debug调试器就可以完成。
如今微信小程序有以下发展优势
(1) 无须下载,无须注册
(2) 触手可及,用完即走
(3) 功能丰富,使用难度低
(4) 流量之王,用户群体大

HBuilderX+uniapp

HBuilder 是基于HTML、js、css的等H5语法的开发技术,使得开发者很容易上手学习,里面涉及的数据绑定基于Vue语法涉及,在开发效率上也比传统的jquery快,当然HBuilder 也保留了对jquery的支持,两种语法可以结合项目的需要,可以混合开发。该开发工具本身是由java编写完成,所以对原生项目的插件也有很好的兼容性。

mysql数据库与主流编程语言

MySQL不但可以和Java语言进行搭建系统,也可以和php、python等进行搭配。MySQL数据库可以存储多种格式的内容,常见的有文本,也可以存储整数、浮点数、日期,还可以存储二进制字节,程序中对文件或图片进行处理,转换为二进制数据后。本系统使用MySQL数据库的原因是其安全、稳定、成熟、可靠性强。

登录的业务流程的顺序是:

当你是用户时:首先是用户输入格式正确的用户号和密码,然后系统会接受你的登录信息,系统开始查询数据库并且自动匹配查找相关账号信息,判断数据是否正确,当用户输入的账户信息正确时,输入的数据会与数据库里录入的账号信息相匹配,然后就可以成功登录了。否则登录失败。成功登录的用户可以使用自己的用户权力对系统进行一定的功能上的操作。

毕设制作流程

(1)与指导老师确定系统主要功能;
(2)做需求分析及功能模块划分;
(3)指导老师通过后,设计出用例图,E-R图,功能模块图
(4)根据自己的功能模块划分,设计核心功能的需求
(5)查阅过的文献资料及调研
(6)根据自己的系统,完成论文的设计与实现
(7)参考相关文献和需求分析文档和概要设计文档,完成初稿
(8)根据指导老师的修改意见修改论文,直到定稿

系统性能

性能方面指的是部署系统后,能否在规定的时间内响应请求或者反馈出结果。通常标准的响应时间为一秒内,这就需要考虑大数据查询时和多用户请求网页时的并发情况,通过压力测试来确保其性能正常。
互操作性是指系统是否具备在不同的操作系统环境下能否运行,以及和企业其他相关的系统是否具备数据交互的接口,所以在结合实际情况下,尽可能的涉及到相应的操作接口。
可靠性方面,一般系统都存储了大量的数据,这些数据非常重要,系统要具备数据定期备份的能力,保证系统持续性运行,并确保数据的安全。
可伸缩性指的是系统的一种弹性,随着软硬件的发展,保证系统可以很好的兼容软硬件。通过较少的改动来进行迭代换新,实现低延迟的性能。

核心代码


/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UsersController{
	
	@Autowired
	private UsersService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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 UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UsersEntity user){
        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UsersEntity user){
       	EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }



系统测试

本系统功能比较完善,系统的整体错误率小于1%,系统功能都可以正常运行,本系统所有的链接可以在短时间内得到响应。模块之间的传递数据表现良好,通过测试发现和实际预期结果相符,达到了客户满意的效果,在实际应用中具有一定的价值。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

详细视频演示

请联系我获取更详细的演示视频

源码获取

需要成品,加我们的时候,记得把页面截图发下我,方便查找相应的源代码。可以的话 顺便点赞!
文章最下方名片联系我即可~

标签:username,uniApp,return,微信,系统,user,userService,收养,public
From: https://blog.csdn.net/Q_6310855/article/details/142912174

相关文章

  • 基于Uni-App的宠物陪玩遛狗系统 微信小程序
    项目介绍具体需求:管理员模块:用户管理,宠物信息管理,留言管理[这里有两个留言],宠物陪玩信息管理[也就是下单那一块],商家管理[这个商家由管理员直接加入],员工管理。这个懂吧,它可以直接对这些信息增删改查。用户模块:用户注册登录(用户头像,用户名,密码,性别,电话号码,邮箱),个人中心(显......
  • 从 iPhone 设备恢复误删微信消息的 4 种方法
    您的微信消息可能会因无意删除、系统崩溃、卸载微信应用或升级过程失败而被删除。如果您遇到这种情况,您不必担心,因为您可以采取某些步骤来恢复丢失的微信历史记录。这里有4种方法可以帮助您从iPhone恢复丢失的微信消息、群聊历史记录或微信联系人。恢复误微信消息的4种......
  • uniapp小程序使用文字转语音播报类似支付宝收款播报小程序语音识别和朗读
    第一步:登陆微信公众平台,侧边栏的设置-----第三方设置-----插件管理----添加插件(搜索–同声传译)第二步:打开hbiuider-x,找到当前项目,打开manifest.json,找到源码视图,配置插件   代码块://provider是你查看详情以后的appId"plugins":{"WechatSI":{......
  • 后台管理 + H5 + 微信小程序!又一个开源轻量的小商城!
    大家好,我是Java陈序员。之前,给大家推荐过几款开源的商城系统。一个5.2k+Star的微服务商城系统一个基于Vue+Vuex+iView的电子商城网站今天,再给大家介绍一款开源轻量的小商城系统,包含后台管理、H5和微信小程序!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享......
  • 基于微信小程序+springboot的校园综合服务系统网站java项目
    该校园综合服务系统网站项目结合微信小程序和SpringBoot技术,为校园师生提供便捷、全面的服务。对于学生而言,微信小程序端提供了丰富的功能。学生可以通过小程序查看课程安排、考试时间和成绩等学业信息,方便及时了解自己的学习进度。同时,能够在线进行图书馆书籍借阅预约......
  • 【精品毕设推荐】基于微信小程序的购物系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行......
  • UniApp入门教程
    UniAppX是一种用于构建跨平台应用程序的框架,它基于Vue.js并通过UniApp技术栈支持多种平台,如微信小程序、支付宝小程序、H5、Android和iOS。以下是UniAppX的一些关键特点和基础知识:UniAppX的特点跨平台支持:可以使用相同的代码基础,构建多个平台的应用。支持小程......
  • 微信聊天快捷回复工具【PC版本】
    易歪歪是一款可以应付各种场景下聊天快捷回复工具,相对强大的客服聊天助手,支持话术存储,软件用于提升客服聊天效率,高标准统一迅捷回复,达到一名客服效率为五名的效益转化。软件特点一键发送话术,少打字,回复快支持图文视频文件,客服快速回复的神器,高效率接待智能吸附聊天窗口......
  • 微信聊天快捷回复工具【PC版本】
    易歪歪是一款可以应付各种场景下聊天快捷回复工具,相对强大的客服聊天助手,支持话术存储,软件用于提升客服聊天效率,高标准统一迅捷回复,达到一名客服效率为五名的效益转化。软件特点一键发送话术,少打字,回复快支持图文视频文件,客服快速回复的神器,高效率接待智能吸附聊天窗口......
  • 基于微信小程序的校园跑腿小程序springboot项目(源码+lw+部署文档+讲解等)兼容app小程
    课题简介本项目旨在为校园师生打造一个便捷高效的跑腿服务平台,基于微信小程序开发前端界面,以SpringBoot构建强大稳定的后端服务。一、功能概述用户注册与登录支持学生和跑腿员通过微信授权快速注册与登录,确保身份真实性和信息安全。任务发布与接单学生用户可在小......