ercharts 饼图 连数据库 (统计简历表中 投递的城市最多的城市)

暂时先贴代码,笔记稍后补全 

前端:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;IE=7;IE=EDGE;">
    <title>RoseEcharts-JSON请求数据</title>
        <!-- 引入 echarts.js -->
    <script type="text/javascript" src="../js/echarts.js"></script>
        <!-- 引入jquery.js -->
<!--        <script type="text/javascript" src="../js/jquery-1.7.2.js"></script>-->
        <script type="text/javascript" src="../js/jquery-3.5.1.min.js"></script>
    <script>
        $(document).ready(function(){
            var chart = document.getElementById('chart');
            var chartData = echarts.init(chart);
            var color = []

                s chartData.setOption({
            series : [
                {
                    name: '访问来源',
                    type: 'pie',
                    radius: '70%',
                    //修改
                    data:[],
                    roseType: 'radius',
                }
            ]
        });

           var dataSet = [];
        $.ajax({
            url:  URL + "/user/ercharts",
            type: "POST",
            dataType: "JSON",
            success:function(returnData){
                for(var x=0;x<returnData.data.length;x++) {
                    dataSet.push(returnData.data[x]);
                    color.push(RandomColor())
                };
                chartData.setOption({
                    series:[{
                        name: '访问来源',
                        //按照比例大小排序
                        data:dataSet.sort(function (a, b) { return a.value - b.value; }),
                        color:color
                    }]
                });
            }
        });

        function  RandomColor(){
            return '#' + (function(h){
                return new Array(7 - h.length).join("0") + h
            })((Math.random() * 0x1000000 << 0).toString(16));
        }
    });
</script>
</head>
<body>
<div id="chart" style="width: 500px; height: 400px;"></div>
</body>
</html>

后端:

 public List count() { //daoImpl
        String sql="SELECT COUNT(*) as 'value' ,b.address_name as 'name' FROM resume a LEFT JOIN address b ON a.address_id = b.address_id GROUP BY a.address_id ";
        List list=jdbcTemplate.queryForList(sql);
        return list;
    }

  //统计图
    private void ercharts(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            Result result=new Result();
            if (userService.count()!=null)
            {
                System.out.println("list:"+userService.count());
                result.setCode(0);
                result.setData(userService.count().toArray());
                System.out.println("JSON.toJSONString(result):"+JSON.toJSONString(result));

                response.getWriter().write(JSON.toJSONString(result));
            }else
            {
                result.setCode(1);
                response.getWriter().write(JSON.toJSONString(result));
            }



    }

工具类:

package com.zlt.utils;

import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTVerificationException;
import com.auth0.jwt.interfaces.DecodedJWT;

import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class JWTUtils {

    private static long exp = 1000 * 60 * 60;//过期时间为一个小时

    private static String security = "Zxcv.lZCDVJKbnadvs/;mklasdf,L:asbnm,.3ertyui5678";//密钥

    /**
     *  生成token
     * @param uid
     * @param username
     * @return
     */
    public static String toToken(String uid,String username){
        Map header = new HashMap();
        header.put("typ","JWT");
        header.put("alg","HS256");
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis() + exp);

        return JWT.create().
                withHeader(header).//头
                withIssuedAt(new Date()).//发布时间
                withExpiresAt(calendar.getTime()).//过期时间
                withSubject("*"). //面向的用户
                withClaim("uid",uid).
                withClaim("username",username).
                sign(Algorithm.HMAC256(security));//加密

    }

    /**
     * 检查token是否存在和有效
     * @return
     */
    public static boolean checkToken(String token){

        //token不能为空
        if(!StringUtils.isNotNull(token)){
            return false;
        }

        try {
            JWTVerifier verifier = JWT.require(Algorithm.HMAC256(security)).build();
            DecodedJWT decodedJWT = verifier.verify(token);
        } catch (JWTVerificationException e){
            return false;
        }
        return true;
    }

    /**
     * 从指定的token中获取指定的载荷
     * @param token
     * @param key
     * @return
     */
    public static String getMemberOftoken(String token,String key){

        if(!checkToken(token)){
           return null;
        }
        DecodedJWT decodedJWT = null;
        try {
            JWTVerifier verifier = JWT.require(Algorithm.HMAC256(security)).build();
            decodedJWT = verifier.verify(token);

        } catch (JWTVerificationException e){
            return null;
        }
        return decodedJWT.getClaim(key).asString();
    }

}

效果图:

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值