健康上报系统springboot+vue+wx

前言引用


本项目是采用了 springboot+vue+elementui 前后端分离;权限采用shiro 管理提供swagger3+knife4j 开发文档 后端统一处理跨域问题;


主要功能概括:
1.管理后台管理上报记录以及风险区域的基本信息如:用户, 主页统计,风险区域,滚动图, 资讯,上报记录和日志管理等功能,
2.微信端功能:授权登录,首页和资讯的信息获取,搜索功能,详情以及上报健康情况还有个人的记录以及定位功能

管理端登录

管理端主页

主页包含系统各个维度的统计,包括角色数量,中高危风险趋势图以及近期打卡健康的上报情况;

国内中高危险区域列表

此数据列表和本地宝数据同步,每30分钟后台定时任务自动更新,也可在管理页面选择手动更新数据;用途为客户端根据地址比对,统计需要;核心代码如下:

    public static  List<RiskArea>  getList(){
        Integer index=0;
        String url = "http://m.nj.bendibao.com/news/gelizhengce/fengxianmingdan.php";
        String createDate = getStringDate();
        List<RiskArea> areaList = new ArrayList<>();
        try {
            Document document = Jsoup.connect(url).get();
            Elements byClass = document.getElementsByClass("border-title");
            Elements p = byClass.get(0).select("p");
            System.out.println(p.html());
            Elements time = p.select(".time");
            String text = time.get(0).text();
            String cutOff = text.substring(2, text.length());
            cufTime=cutOff;
            Elements number = document.getElementsByClass("fengx-number");
            Elements span = number.get(0).select("span");

            System.out.println("高风险地区:" + span.get(0).text() + "\t中风险地区:" + span.get(1).text() + "\t低风险地区:" + span.get(2).text());

            Elements height = document.getElementsByClass("height");//高风险区域
            Elements middle = document.getElementsByClass("middle");//中风险区域

            for (Element e : height) {
                Elements es = e.getElementsByClass("info-list");
                for (Element ess : es) {
                    Elements shis = ess.select(".shi");
                    System.out.println(shis.text());

                    for (Element shi:shis){
                        Elements proCitys = shi.select("span");

                        String province=proCitys.get(0).text();
                        String city=proCitys.get(proCitys.size()-1).text();
                        System.out.println(shi.text());

                        Element element = shi.nextElementSibling();
                        Elements infos = element.select("span");
                        for (Element info : infos) {
                            RiskArea area = RiskArea.builder()
                                    .id(++index)
                                    .province(province)
                                    .city(city)
                                    .riskType(1)
                                    .cutOff(cutOff)
                                    .createDate(createDate)
                                    .regionInfo(info.text()).build();
                            areaList.add(area);
                        }
                    }

                }
            }

            for (Element e : middle) {
                Elements es = e.getElementsByClass("info-list");
                for (Element ess : es) {
                    Elements shis = ess.select(".shi");

                    for (Element shi:shis){
                        Elements proCitys = shi.select("span");

                        String province=proCitys.get(0).text();
                        String city=proCitys.get(proCitys.size()-1).text();
                        System.out.println(shi.text());

                        Element element = shi.nextElementSibling();
                        Elements infos = element.select("span");
                        for (Element info : infos) {
                            RiskArea area = RiskArea.builder()
                                    .province(province)
                                    .city(city)

                                    .id(++index)                                    .riskType(2)
                                    .cutOff(cutOff)
                                    .createDate(createDate)
                                    .regionInfo(info.text()).build();
                            areaList.add(area);
                        }
                    }

                }
            }
            int c = 322;


        } catch (Exception e) {
            e.printStackTrace();
        }
        return areaList;
    }

 上报列表

此数据列表为微信端提交的数据

 微信端授权登录

关于授权登录请看其他文章,此处不再过多赘述;

微信主页

微信打卡上报

资讯详情

有啥不懂得小伙伴们加群交流啦:852665736;本群致力于一同进步的小伙伴们,大家一起交流探讨,在陌生的城市感受温暖;  

无偿免费分享源码以及技术和面试文档,更多优秀精致的源码技术栈分享请关注微信公众号:源码plus

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值