后台代码:

result = Result.operating("不存在,不允许迁出", false, ResultCode.SUCCESS);

其中三个参数:参数一返回消息提示,参数二返回成功或失败,为true表示请求成功,为false表示请求失败。参数三表示是否出现异常,为Success表示成功,为Failure表示出现异常。

public static Result operating(String msg, Boolean f, Integer code) {
        Result rs = new Result();
        rs.setSuccess(f);
        rs.setMsg(msg);
        rs.setCode(code);
        return rs;
    }

如果参数三返回的是Failure,那么就会进入前端catch中。不是因为后台报错,而是后台给前端正确的提示,则参数三应该为Success。

参数二如果返回true,那么response.success === true。如果参数二返回false,那么response.success === false

前端接收:

data.append('file', file.raw)
        data.set('coverFlag', '0')
        intelDrugStore.importExcel(data).then(response => {
          console.log(response)
          if (response.success === true) {
            。。。
          } else {
            this.$message.warning(response.msg)
            this.importLoading = false
            this.importDisabled = false
          }
        }).catch(() => {
          this.$message.error('抱歉,导入失败')
          this.importDisabled = false
        }).finally(() => {
          this.importLoading = false
          this.importDisabled = false
        })

其中第一次访问返回的response为:

 response.success的值为为上述的第二个参数的值,即为false,

注意:前端返回的情况有三种:

第一种:response.success为true,这是正常返回的情况。后台第二个参数为true,此时参数三必须为Success。

第二种:后台没有出现异常,response.success为false,这是介于正常和非正常之间的情况,后台第二个参数为false。后台没有异常,但是希望给用户提示,此时参数三必须为Success。

第三种:是后台出现异常的情况,被前台捕捉。前端进行友好提示。

 

posted on 2022-02-22 11:29  周文豪  阅读(806)  评论(0编辑  收藏  举报