项目总结

项目总结

今天进行项目的评比,这个项目呢,他的主要的功能点之处就是
  • 编辑、添加、删除

  • 分配权限,分页、树形结构、图表,搜索

  • 登录授权

    示例:1…搜索
    我主要是通过lodash这个插件里的_.debounce这个方法来实现防抖功能(优化),运用,调取接口,获取响应的数据,进行实现,可以通过点击事件触发,还可以通过el-input里的@input事件触发

//下载
npm i lodash
//文本部分
<div style="margin-top: 15px;">
        <el-input
          placeholder="请输入内容"
          v-model="lbjPageXinx.query"
          class="input-with-select lbjgoodsSous"
          clearable
          @input="lbjyhSearch"
        >
          <el-button @click="lbjyhSearch" slot="append" icon="el-icon-search"></el-button>
         </el-input>
引入:
import _ from "lodash";
//js部分的代码
 // 搜索
    lbjyhSearch: _.debounce(function() {
      this.lbjgoodsShop();
    }, 1000),

这个就可以实现

示例: 2…图标
这个图标功能呢,我是通过echarts插件实现
实现:

下载:
npm install echarts --save
引入模块:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入柱状图
require('echarts/lib/chart/bar');
// 引入提示框和标题组件
require('echarts/lib/component/tooltip');
require('echarts/lib/component/title');
//js代码
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 绘制图表
myChart.setOption({
    title: {
          text: "用户来源"
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "cross",
            label: {
              backgroundColor: "#E9EEF3"
            }
          }
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true
        },
        xAxis: [
          {
            boundaryGap: false
          }
        ],
        yAxis: [
          {
            type: "value"
          }
        ]
});

示例: 3…优化区域
实现刷新数据时,会有一个正在加载的的进度条,没有刷新最后会有小lodaing的展示
实现:

下载:
npm install --save nprogress
通过引入:
import NProgress from "nprogress";
import "nprogress/nprogress.css";
//最后在我们所设置的请求拦截与响应拦截进行调用与取消

//请求拦截
service.interceptors.request.use(
  function (config) {
    // 判断如果不是登陆页,必须携带token到后端,才能够正确的返回数据
    // 判断不是login页,可以获取到token
    //这里是所进行调用的
    NProgress.start()
    if (config.url !== 'login') {
      const token = localStorage.getItem('token')
      // 设置请求头
      config.headers['Authorization'] = token
    }
    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);
//响应拦截
service.interceptors.response.use(
  function (response) {
  //这里是取消调用的
    NProgress.done()
    // console.log("想用拦截",response)
    const { meta: { msg, status } } = response.data;
    /*
      200 获取数据,更新成功
      201:创建成功,例如:添加用户、
      204:删除成功
    */
    const successztArr = [200, 201, 204];

    if (successztArr.includes(status)) {
      if(response.config.method!="get"){
        Message({
          message: msg,
          type: 'success'
        })
      }
     
      return {
        result: response.data.data
      }
    } else {
      Message({
        message: msg,
        type: 'error'
      })
    }
    // return response;
  },
  function (error) {
    return Promise.reject(error);
  }
);

最后呢,就是这几个地方是进行优化的
这个项目是调用后台接口,通过vue+element ui 进行结合使用来实现整个项目的完成
其中通过自己的努力与探索和项目组长的帮助完成
还需不断的努力

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值