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

java基本微信小程序的高校科研管理系统 uniapp小程序

高校科研管理系统后台使用JAVA开发,数据库使用MySql,前台使用微信小程序。系统框架基于B/S,便于管理和维护。高校科研管理系统包括基本信息管理、用户管理、科研管理、日常公告、请假申请管理和留言管理。本文首先对高校科研管理系统研究背景进行介绍,然后提出需求,再对系统进行设计,包括功能设计和数据库设计,最后进行高校科研管理系统的实现和测试。高校科研管理系统的实施提高了高校管理者的效率,数据的传输过程也更加安全。

请添加图片描述
环境需要
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+微信开发者工具混合开发模式

近年来,因为高校扩招的原因,毕业生就业方面产生了巨大的压力。每年的高校毕业生人数大于企业招聘需求,造成了就业竞争日益严峻。为了解决严峻的就业形势,帮助学生提高就业水平,定期举办科研竞赛是有效的方式之一。随着计算机信息技术的快速发展,搭建高校科研管理系统,帮助学生提高科学技术研究的能力,提高自身的竞争优势,避免延误就业。目前普遍的情况是,高校管理人员在管理平台上投入的精力较少,造成管理效率低,存在许多空置的管理系统,造成了平台资源的浪费作为。

请添加图片描述
随着计算机信息技术的迅猛发展,互联网技术大规模应用到各行各业,传统的管理系统也逐渐精细化。高校作为教书育人的场所,各种管理也更应该智能化,特别是计算机信息专业更是最早接触信息技术,为高校各部门开发必要的系统是很有意义的事情。本高校科研管理系统对科研管理提供帮助,解决科研动态、周报、报销管理,对科研数据进行管理、分析和决策。
请添加图片描述
基于JAVA平台的高校科研管理系统供两类用户使用,系统管理员、科研人员。系统管理员对科研团队、科研人员、科研成果、周报、报销经费、科研活动、活动记录进行管理。科研人员注册登录,查看科研成果,发布科研活动,参与活动。
1;科研团队信息查询:查询团队科研信息情况,包括科研成果、项目、获奖情况的浏览。
2;科研动态:了解相关领域最新科研动态,相关主管单位发布的科研申报信息。
3;请假申请:有事在线请假申请, 组员申请组长确认。
4;科研活动请示:请示参加一些科研活动,比如参加一些科研会议、举办一些科研讨论等活动。加入团队后组员请示组长,组长确认,组长发布活动。
5;周报浏览:浏览科研团队这一周科研情况。
6;报销经费请示:在线请示报销项目经费申请,等待团队组长批示。
7;可自己创建团队,参加有多个团队可以相互切换。
请添加图片描述


/**
 * 登录相关
 */
@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

相关文章:

  • C++ 20 协程(一)
  • 小米手机抓取hci log
  • 【Java深入学习】并发常见方法的注意事项
  • 微信小程序开发入门与实战(数据监听)
  • 【论文阅读】提升的自动作文评分通过Prompt预测和匹配
  • JPA-Specification常用条件查询构造方式
  • 瑞吉外卖(19) - 新增套餐业务开发
  • Android 的定位分层架构
  • 基于docker搭建es集群
  • 2.可视化基础(上)
  • 解决Vue项目中ESLint和Prettier冲突问题[Vue.js项目实践: 新冠自检系统]
  • 【misc】buu-面具下的flag——zip伪加密+用NTFS流隐藏文件
  • java毕业设计企业安全与设备管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  • Message Bus Solace Deeper Dive
  • Android-AGP之手写你的第一款自定义plugin插件
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 2019.2.20 c++ 知识梳理
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • extjs4学习之配置
  • iOS 颜色设置看我就够了
  • iOS编译提示和导航提示
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JDK 6和JDK 7中的substring()方法
  • leetcode讲解--894. All Possible Full Binary Trees
  • Mysql5.6主从复制
  • Node 版本管理
  • redis学习笔记(三):列表、集合、有序集合
  • vue-cli3搭建项目
  • 程序员最讨厌的9句话,你可有补充?
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 解析 Webpack中import、require、按需加载的执行过程
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 小程序button引导用户授权
  • 学习HTTP相关知识笔记
  • 我们雇佣了一只大猴子...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • # 数论-逆元
  • ###C语言程序设计-----C语言学习(6)#
  • #100天计划# 2013年9月29日
  • #HarmonyOS:基础语法
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2)MFC+openGL单文档框架glFrame
  • (2)STL算法之元素计数
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (转)程序员疫苗:代码注入
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • 、写入Shellcode到注册表上线
  • .NET delegate 委托 、 Event 事件
  • .Net IOC框架入门之一 Unity
  • .net项目IIS、VS 附加进程调试
  • .Net中的设计模式——Factory Method模式