1. 程式人生 > >微信小程式 wepy框架關於攔截器的應用例項

微信小程式 wepy框架關於攔截器的應用例項

需求

因為安全的需要,很多時候我們訪問介面的時候需要進行驗籤,而用於驗籤的資訊是需要存入請求頭的

業務邏輯如下:

  • 登入並獲取使用者資訊
  • 將使用者資訊存入全域性變數中
  • 其他業務訪問介面
  • 攔截請求,並將需要的驗籤資訊存入到請求頭裡面
  • 放行

官方文件是這麼寫的

$interceptors:List:所有攔截器列表

格式如下:

  this.$interceptors = {
      'request': {
          config (p) {
              return p;
          },
          success (rst) {

          }
      }
  }

例項

我們找到app.wpy
找到生命週期方法onLaunch(),如果沒有,就建立這個方法,然後按照官方文件上寫的,新增一個攔截器

  onLaunch () {
    this.login()
    this.$interceptors = {
      'request': {
        config (p) {
          if (this.globalData != null) {
            let time = new Date()
            let random = Math.random()
            let
userId = this.globalData.userInfo.id let token = this.globalData.userInfo.token p.header.userId = userId p.header.time = time p.header.random = random p.header.token = token let array = { 'userId': userId, 'random': random, 'time'
: time, 'token': token } p.header.sign = md5utils.getSign(array) } return p } } } }

像這樣一個攔截器就寫好了