基于Java+SpringBoot制作一个宿舍报修小程序

news/2024/7/20 1:48:31 标签: 微信小程序, 小程序, 报修, 宿舍报修

制作一个宿舍报修小程序,让学生实现快速报修,将流程进行精简, 便于管理部门有效响应。
小程序>微信小程序实战开发专栏

  • 一、小程序
    • 1.1 项目创建
    • 1.2 首页
      • iconfont图标引入
    • 1.3 报修管理
    • 1.4 来访登记
    • 1.5 公告通知
  • 二、API
    • 2.1 SpringBoot框架搭建
    • 2.2 实体映射创建Mapper
    • 3.3 接口封装
  • 三、管理端
    • 3.1 项目创建
    • 3.2 页面设计
    • 3.3 接口调用

一、小程序

1.1 项目创建

小程序账号申请及项目创建可参考该专栏其他文章步骤内容,这里不再重复赘述
小程序>微信小程序实战开发专栏

1.2 首页

首页展示搜索框、轮播图、跑马灯公告、快捷入口、维修员推荐等。

在这里插入图片描述

iconfont图标引入

快捷入口图片配置可使用iconfont引入图标
阿里巴巴矢量图标图点此跳转

在这里插入图片描述

将图片添加至购物车、添加至项目,并下载项目进行解压,添加iconfont.css的引用即可

在这里插入图片描述

1.3 报修管理

报修提交

报修提交页由表单控件组成,用于提供给用户输入所需的各项信息

在这里插入图片描述

报修记录

报修记录展示用户提交的报修记录,管理员在后台对记录进行操作后,同步显示

在这里插入图片描述

报修溯源

基于zxing生成二维码,可将其贴在宿舍物品上,用户可通过个人中心扫一扫查看物品操作历史

在这里插入图片描述

import java.io.File;
import java.util.Hashtable;  
 
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;  
public class QRCodeEvents {  
  public static void main(String []args)throws Exception{
    String text = "物品名称";
    int width = 100;
    int height = 100;
    String format = "png";
    Hashtable hints= new Hashtable();
    hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
     BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);
     File outputFile = new File("new.png");
     MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);  
  }
}

1.4 来访登记

外来访校人员可通过小程序对信息进行登记

在这里插入图片描述

管理员可通过后台发布公告信息在小程序进行展示

在这里插入图片描述

1.5 公告通知

二、API

2.1 SpringBoot框架搭建

1.创建maven project,先创建一个名为SpringBootDemo的项目,选择【New Project】

在这里插入图片描述

然后在弹出的下图窗口中,选择左侧菜单的【New Project】

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

在project下创建module,点击右键选择【new】—【Module…】

在这里插入图片描述

左侧选择【Spring initializr】,通过idea中集成的Spring initializr工具进行spring boot项目的快速创建。窗口右侧:name可根据自己喜好设置,group和artifact和上面一样的规则,其他选项保持默认值即可,【next】

在这里插入图片描述

Developer Tools模块勾选【Spring Boot DevTools】,web模块勾选【Spring Web】,此时,一个Springboot项目已经搭建完成,可开发后续功能

在这里插入图片描述

2.2 实体映射创建Mapper

创建一个entity实体类文件夹,并在该文件夹下创建项目用到的实体类

这里是引用

package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;

    private String account;

    private String pwd;

    private String userDesc;

    private String userHead;

    private LocalDateTime createTime;

    private Long role;

    private String nickname;

    private String email;

    private String tags;
}

3.3 接口封装

由于我们使用mybatis-plus,所以简单的增删改查不用自己写,框架自带了,只需要实现或者继承他的Mapper、Service

在这里插入图片描述

创建控制器Controller

在这里插入图片描述

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

数据库连接、mybatis-plus的分页插件、以及跨域配置

在这里插入图片描述

三、管理端

3.1 项目创建

可通过vsCode / Hbulider等开发工具进行项目创建,根据个人的开发习惯选择项目类型

在这里插入图片描述

3.2 页面设计

页面主要分为左侧菜单导航及右侧内容,通过iframe实现点击展示的效果

在这里插入图片描述

   // 滚动条
    const ps = new PerfectScrollbar('.lyear-layout-sidebar-scroll', {
		swipeEasing: false,
		suppressScrollX: true
	});
    
    // 侧边栏
    $(document).on('click', '.lyear-aside-toggler', function() {
        $('.lyear-layout-sidebar').toggleClass('lyear-aside-open');
        $("body").toggleClass('lyear-layout-sidebar-close');
        
        if ($('.lyear-mask-modal').length == 0) {
            $('<div class="lyear-mask-modal"></div>').prependTo('body');
        } else {
            $( '.lyear-mask-modal' ).remove();
        }
    });
  
    // 遮罩层
    $(document).on('click', '.lyear-mask-modal', function() {
        $( this ).remove();
    	$('.lyear-layout-sidebar').toggleClass('lyear-aside-open');
        $('body').toggleClass('lyear-layout-sidebar-close');
    });

3.3 接口调用

前端框架使用layui渲染数据,通过url请求在控制器定义的接口

在这里插入图片描述

在这里插入图片描述


http://www.niftyadmin.cn/n/233090.html

相关文章

家庭智能插座一Homekit智能

传统的灯泡是通过手动打开和关闭开关来工作。有时&#xff0c;它们可以通过声控、触控、红外等方式进行控制&#xff0c;或者带有调光开关&#xff0c;让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块&#xff0c;可与手机、家庭智能助手、或其他智能硬件进行通信&#x…

stm32cubemx IAP升级(二)

stm32cubemx IAP升级- App的制作 板卡&#xff1a;Nucleo-L412 平台&#xff1a;macbook pro 工具&#xff1a;vscode stm32cubemx stm32cubeProgramer cmake toolchain 整体思路 将App设置为从0x08007000地址启动&#xff0c;然后初始化一路串口用作接收上位机的升级数据&a…

softmax交叉熵损失求导

softmax为激活函数&#xff0c;C softmax&#xff08;o&#xff09;为输出&#xff0c;真实标签为y, 用交叉熵作为损失函数L&#xff0c;给出损失函数定义&#xff0c;并且给出损失函数L对o的求导 交叉熵损失函数定义如下&#xff1a; L−∑i1Cyilog⁡(ci)L -\sum_{i1}^C y_…

带你玩转状态机(论点:概念、相关图示、示例代码、适用场景、相关文档)

概念 状态机&#xff08;State Machine&#xff09;是一种用于描述系统在不同状态下的行为及状态之间转换的数学模型。状态机主要由三个部分组成&#xff1a;状态&#xff08;State&#xff09;、事件&#xff08;Event&#xff09;和转换&#xff08;Transition&#xff09;。…

网络安全之编码加密算法

网络安全之编码加密算法一、ROT5/13/18/47编码转换二、MD5加密一、ROT5/13/18/47编码转换 ROT5、ROT13、ROT18、ROT47 编码是一种简单的码元位置顺序替换暗码&#xff0c;属于凯撒密码的一种。此类编码具有可逆性&#xff0c;可以自我解密&#xff0c;主要用于应对快速浏览&am…

rancher2.7丢失集群信息

使用Docker 单节点安装rancher&#xff0c;然后在rancher中创建了一个k8s的集群。重启rancher所在的虚拟机后&#xff0c;登录rancher发现这是新的实例&#xff0c;集群信息丢失了。但是k8s集群还是好好的。 检查k8s的日志&#xff0c;api server日志会报错 time"2023-0…

移动机器人设计与实践-基础概念汇总

如下全文在关键词提示词等脚本交互下&#xff0c;由文图版本生成式人工智能在1分钟内创作完成。 AI自动生成文章评分已经远超大部分博文评分值。 人类社会经历过农业时代&#xff08;最强代表汉唐&#xff09;-工业时代&#xff08;最强代表日不落帝国&#xff09;-信息时代&a…

跨网摆渡系统如何实现数据安全传输,从而驱动业务流转?

在这个数据驱动的时代&#xff0c;一次数据泄露就可能影响到数亿甚至数十亿人。数字化转型进一步推动了数据的移动&#xff0c;而随着攻击者加速利用日常生活中的数据依赖性&#xff0c;数据泄露也正随之扩大。一旦边界的防线被攻破或绕过&#xff0c;攻击者就可以在数据中心内…