route
request
config
api
.gitignore config.js
【一】:config.js
const web = 'http://test.www.net'
const webUrl = web+'/api/userapi'
export default{
webUrl,
web
}
【二】:api.js
import config from './config.js'
import route from './route.js'
import request from './request.js'
import Vue from 'vue'
const api = {}
// 獲取用戶信息
api.getUserFindApi = ()=> {
console.log('api--全局定義接口-獲取用戶信息and掛載')
request.globalRequest(route._getUserFind).then((res)=>{
Vue.prototype.$userFind = res.data
console.log(Vue.prototype.$userFind)
})
}
export default api
【三】:request.js
import config from './config.js'
// 注冊(cè)路由
import route from './route.js'
import Vue from 'vue'
const webUrl = config.webUrl
const request = {}
request.globalRequest = (url, params = [], method = 'GET') =>{
// 獲取緩存中的token
var tokenStorage = url == route._refreshToken?uni.getStorageSync('refresh_token'):uni.getStorageSync('access_token');
if (tokenStorage) {
// 存在時(shí)
tokenStorage = 'Bearer '+tokenStorage
}
let sign = Date.parse(new Date())/1000;
// 頁(yè)面加載完
const promise = new Promise((resolve, reject) => {
uni.request({
url: webUrl + url,
method,
data: params,
dataType: 'json',
header: {
'authorization': tokenStorage,
'sign': sign,
'token-type': 'USER',
// 'types':'WECHAT'
},
success: (res) => {
// 系統(tǒng)錯(cuò)誤
if (!res.data.code) {
uni.showModal({
title: '提示',
content: '系統(tǒng)維護(hù)中,請(qǐng)稍后重試',
showCancel: false,
success: function (res) {
}
});
return
}
if (res.data.code == 208) {
console.log('code:401,jwt參數(shù)未傳,直接跳轉(zhuǎn)到登陸頁(yè)面')
uni.navigateTo({
'url':'/pages/user/login'
})
return
}
if (res.data.code == 209) {
resolve(res.data)
return
}
//
if (res.data.code == 10050) {
// console.log('code:10050婚温,jwt令牌過(guò)期萎战,重新獲取')
const url = route._refreshToken
request.globalRequest(url, [], 'POST').then((res)=>{
// 存入新的訪問(wèn)令牌-緩存
uni.setStorageSync('access_token', res.data.access_token);
// 刷新令牌-緩存
uni.setStorageSync('refresh_token', res.data.refresh_token);
// console.log(res.data)
})
return
}
if (res.data.code == 504) {
resolve(res.data)
return
}
if (res.data.code == 212) {
uni.showModal({
title: '提示',
content: '您的賬戶玖玖豆不足',
confirmText:'購(gòu)買(mǎi)',
success: function (res) {
if (res.confirm) {
uni.navigateTo({
'url': '/pagesa/balance/add'
})
} else if (res.cancel) {
}
return
}
});
return
}
//
if (res.data.code == 400 || res.data.code==500) {
// console.log('參數(shù)錯(cuò)誤,需要直接拋出異常內(nèi)容')
uni.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
success: function (res) {
}
});
return
}
// ==============================================
if (res.data.code != 200) {
// console.log('參數(shù)錯(cuò)誤揉阎,需要直接拋出異常內(nèi)容')
uni.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
success: function (res) {
}
});
return
}
resolve(res.data)
},
fail: (err) => {
reject(err)
},
complete:function(err){
uni.hideLoading()
}
})
})
return promise
}
export default request
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者