当前位置: 首页 > news >正文

java基于微信小程序的校园报修系统 uniapp小程序

随着科技的发展,我们学校网络中心的服务意识也在不断的增强,从而出现了服务质量效率等等。而服务的主要内容之一就是高效高质为用户解决问题。只有将计算机网络引入服务中来,才能真正形成高效高质服务,才能真正体现学校规范化、科学化、现代化管理的手段。
而在信息科技高度发展的今天,校园网的普及也为网络的服务平台提供了硬件基础。而学校校园网是不仅服务于老师,还服务于学生,于是校园网的应用和信息系统的应用也正蓬勃发展并发挥着巨大的作用,远程教育、学习课件共享、网上招生、网上故障报修等等对于我们已不再陌生。而利用先进的网络程序开发语言来开发系统,就可以更好的服务质量、提高服务效率。这样也为学生和网络中心之间建立了另外一种沟通交流的平台,既为网络中心提供了一个发现问题的渠道,也为同学老师提供一种更好的报修路径。让网络报修方式多样化,借此来提高网络中心工作效率,提升在老师学生中的印象,通过这些既减轻了网络中心的网管工作压力,也为学生提供了良好的网络环境,方便学生在上网搜寻更好的资料,帮助学习。
请添加图片描述
环境需要
1.运行环境:微信开发者工具,最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本或以上版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
小程序端:uni-app+微信开发者工具混合开发模式
请添加图片描述
通过上面的需求分析,我们能够分析出系统的主要功能包括:管理员可以对个人中心、通知公告管理、用户管理、维修工管理、用户报修管理、报修分配管理、维修信息管理、用户评价管理、缴费通知管理、留言板管理、系统管理等进行相应的操作 ;用户和维修工都可以对小程序的首页、通知公告、用户报修、我的 包括:用户报修、保修分配、维修信息、用户评价、缴费通知、留言 ;等进行查看及相应的操作。

请添加图片描述
由于自己在网络中心工作将近两年,所以对网络中心的故障报修流程比较熟悉,深知现在的这个流程比较费时,不够高效高质,并且没有反馈信息,导致问题很多,只能通过传统的电话报修,然后安排专门接电话的网管处理,手工记录,在这个过程中有时会出现遗漏,因此就出现服务不到位的情况。
学院网上故障报修服务系统具有操作简单、便于管理等特点。可以解决工作计划实效性差,反馈信息不及时,数据准确性差等问题。在校园网内使用本系统,学校的学生或者老师宿舍网络若出现故障,只需登陆学院网上故障报修服务系统,轻点鼠标,填写相关信息,即可完成报修,网络中心的工作人员就会及时响应,认真处理。这既有利于学校网络的及时报修和维护,也有利于教职员工和学生获得优质高效的服务。该系统的正式启用,是网络中心为服务广大教职员工推出的重要举措,标志着学校的信息化建设向前迈进一步。
为此我决定开发一个学院网上故障报修服务系统,用来作为衔接上网用户和网络中心的桥梁,为提供用户一个快捷方便的报修途径,报修数据会保存在数据库里面,不会因为遗忘而导致用户联系方式丢失,故障情况描述不清楚等等。

请添加图片描述
学院网上故障报修服务系统要求具有良好的人机操作界面,可以方便简单地管理各种信息;因为系统使用对象较多,所以要求有较好的权限管理,在相应的权限下,可以删除或修改数据;对用户输入的数据,系统进行数据检验,尽可能排除人为的错误;方便的数据查询功能,实现各种信息的查询;系统运行稳定、安全可靠。


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

	/**
	 * 登录
	 */
	@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();
    }

	/**
	 * 退出
	 */
	@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){
    	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("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	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( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @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();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

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

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

相关文章:

  • IDEA详细配置『JDK | Maven | Tomcat』
  • 视觉目标检测大模型套件detrex-调研
  • Docker搭建私有镜像仓库与WordPress
  • 嵌入式软件工程师面试题(七)
  • 力扣(412.516)补8.21
  • 数据集 | 基于计算机视觉的医学影像处理数据集
  • Apache RocketMQ 在阿里云大规模商业化实践之路
  • 《uni-app》一个非canvas的飞机对战小游戏实现-敌机模型实现
  • HTML生日快乐代码 html生日快乐网站制作 html烟花表白网站制作
  • 环境卫生学重点笔记
  • 改进搜索机制的单纯形法引导麻雀搜索算法-附代码
  • 带你吃透Servlet核心编程下篇(完整图文教程)
  • 化工原理 --- 流体流动3
  • 07. 使用子表达式
  • Kubernetes_14_静态Pod网关apiserver底层都是restful接口
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【5+】跨webview多页面 触发事件(二)
  • 07.Android之多媒体问题
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • download使用浅析
  • input实现文字超出省略号功能
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python利用正则抓取网页内容保存到本地
  • vue-loader 源码解析系列之 selector
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 编写高质量JavaScript代码之并发
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 分类模型——Logistics Regression
  • 规范化安全开发 KOA 手脚架
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 前端代码风格自动化系列(二)之Commitlint
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 走向全栈之MongoDB的使用
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​2021半年盘点,不想你错过的重磅新书
  • ​ubuntu下安装kvm虚拟机
  • # Apache SeaTunnel 究竟是什么?
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #QT(串口助手-界面)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (2)nginx 安装、启停
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (c语言)strcpy函数用法
  • (二十四)Flask之flask-session组件
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)mysql使用Navicat 导出和导入数据库
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core 项目指定SDK版本
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net MVC4 上传大文件,并保存表单
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET的微型Web框架 Nancy
  • ?.的用法