微信小程式 wepy框架關於攔截器的應用例項
阿新 • • 發佈:2018-11-12
需求
因為安全的需要,很多時候我們訪問介面的時候需要進行驗籤,而用於驗籤的資訊是需要存入請求頭的
業務邏輯如下:
- 登入並獲取使用者資訊
- 將使用者資訊存入全域性變數中
- 其他業務訪問介面
- 攔截請求,並將需要的驗籤資訊存入到請求頭裡面
- 放行
官方文件是這麼寫的
$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
}
}
}
}
像這樣一個攔截器就寫好了