案例136:基于微信小程序的公交信息在线查询系统

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

管理员模块的实现

用户信息管理

线路信息管理

站点分类管理

周边信息管理

小程序用户模块的实现

系统首页

我的菜单

线路收藏

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序公交信息在线查询系统的开发全过程。通过分析微信小程序公交信息在线查询系统信息管理的不足,创建了一个计算机管理微信小程序公交信息在线查询系统信息的方案。文章介绍了微信小程序公交信息在线查询系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本微信小程序公交信息在线查询系统有管理员和用户两个角色。管理员功能有个人中心,用户管理,线路信息管理,站点分类管理,站点信息管理,周边分类管理,周边信息管理,系统管理等。用户功能有个人中心,线路信息管理,站点信息管理,周边信息管理等。。因而具有一定的实用性。

本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得微信小程序公交信息在线查询系统信息管理工作系统化、规范化。


系统展示

管理员模块的实现

用户信息管理

管理员可以管理用户信息,可以对用户信息进行进行添加,修改删除查询等操作。

线路信息管理

管理员可以对线路信息进行添加,查询修改,删除操作。

站点分类管理

系统管理员可以管理站点分类。界面如下图所示:

周边信息管理

系统管理员可以添加,修改,删除周边信息。界面如下图所示:

小程序用户模块的实现

系统首页

小程序用户是需要注册才可以进行登录的,登录后的首页界面如下图所示:

我的菜单

在小程序里点击我的,会出现关于我的界面,在这里可以修改个人信息,以及可以点击其他功能模块。界面如下图所示:

线路收藏

用户查看线路信息,可以收藏。界面如下图所示:


代码实现

登录功能实现代码

java 复制代码
@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);
	}

注册功能实现代码

java 复制代码
@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();
    }

密码重置功能实现代码

java 复制代码
@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");
    }

修改信息功能实现代码

java 复制代码
 @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();
    }

删除信息功能实现代码

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

保存信息功能实现代码

java 复制代码
@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();
    }
相关推荐
l1t7 分钟前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程18-20
开发语言·python
PeanutSplsh9 分钟前
wx.setStorage 存的数据,没你以为的那么安全
微信小程序
磊 子14 分钟前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
凤山老林15 分钟前
DDD(领域驱动设计)在复杂业务系统中的落地指南
java·开发语言·数据库·ddd·领域驱动
JEECG低代码平台20 分钟前
JimuChatBI — 首款免费开源的 Java 智能问数ChatBI平台,零成本接入,AI对话式智能分析
java·人工智能·开源·aigc·人工智能低代码
凯瑟琳.奥古斯特26 分钟前
子查询原理与实战案例解析
开发语言·数据库·职场和发展·数据库开发
Eiceblue27 分钟前
Python 操作 Excel:数据分组、分类汇总与取消分组全解
开发语言·python·excel
山上三树29 分钟前
C/C++ 高频报错速查表(开发通用版)
c语言·开发语言·c++
Tian_Hang36 分钟前
Factory Method | 工厂方法
开发语言·c++
wearegogog1231 小时前
基于MATLAB实现雷达RCS Swerling模型
开发语言·matlab