Vue.js interceptor

Wie kann ich einen interceptor im vue.js? Also, bevor Sie jedes Anforderung/Antwort-sollte es zuerst gehen Sie auf die interceptor. Ich such schon eine Menge, aber nicht finden können, eine gute Dokumentation darüber.

Möchte ich nutzen, JWTAuth wie diese:

(function (define) {
  'use strict'

  define(function (require) {

    var interceptor

    interceptor = require('rest/interceptor')

    /**
     * Authenticates the request using JWT Authentication
     *
     * @param {Client} [client] client to wrap
     * @param {Object} config
     *
     * @returns {Client}
     */
    return interceptor({
      request: function (request, config) {
        var token, headers

        token = localStorage.getItem('jwt-token')
        headers = request.headers || (request.headers = {})

        if (token !== null && token !== 'undefined') {
          headers.Authorization = token
        }

        return request
      },
      response: function (response) {
        if (response.status && response.status.code === 401) {
          localStorage.removeItem('jwt-token')
        }
        if (response.headers && response.headers.Authorization) {
          localStorage.setItem('jwt-token', response.headers.Authorization)
        }
        if (response.entity && response.entity.token && response.entity.token.length > 10) {
          localStorage.setItem('jwt-token', 'Bearer ' + response.entity.token)
        }
        return response
      }
    })

  })

}(
  typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require) }
  //Boilerplate for AMD and Node
))

Aber ich weiß nicht wie ich abfangen, bevor jeder request/response. (Ich benutze Laravel 5.2).

Haben Sie sich überlegt mit vue-Ressource?

InformationsquelleAutor Jamie | 2016-05-14

Schreibe einen Kommentar