Error Handling

Page

404

Xử lý lỗi ở page-level được thực hiện bởi vue-router. Tất cả các page không đáp ứng được các routes khai báo sẽ tự động chuyển về trong lỗi 404.

{ path: '*', redirect: '/404' }

WARNING

Lưu ý là trang 404 phải được khai báo cuối cùng trong constantRoutes, để cho các routes trước đó sẽ được "chặn" bởi trang 404. Bạn có thể xem thảo luận chi tiết về vấn dề này tại thread addRoutes when you've got a wildcard route for 404s does not work

401

Quản lý quyền truy cập được hiện thực tại @/permission.js. Người dùng không có quyền truy cập vào route hiện tại sẽ được chuyển đến trang 401.

Request

Tất cả request trong hệ thống Laravue sẽ được gọi thông qua instance của axios - được tạo trong @/utils/request.js. code

Bạn có thể tùy biến service.interceptors.response để handle lỗi phụ thuộc vào HTTP status code hoặc code tùy biến mà bạn đã implement phía backend. Ví dụ:

service.interceptors.response.use(
  ...
  error => {
    let statusCode = error.response.status;
    if (statusCode === 401) {
      // Process your 401-error handler here, 
    }
    if (statusCode === 403) {
      // Process your 403-error handler here, 
    }
    ...
    return Promise.reject(error);
  },
);

Tất cả requests đều trả về 1 promise, bạn cũng có thể cache error cho mỗi request để xử lý lỗi riêng biệt cho request đó.

getInfo()
  .then(res => {})
  .catch(err => {
    xxxx
  })

Coding

Ngoài ra, với các lỗi ở code-level (trong quá trình code), nếu bạn enable eslint, bạn sẽ được thông báo khi eslint tìm thấy lỗi trong quá trình code: