request.js
3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
// import config from '@/config.js'
import _ from 'lodash'
const excludeUrls = ['getMemberCountInfo', 'getInfoForPc']
// 获取Token
function getToken() {
try {
const token = uni.getStorageSync('token')
if (token) {
return token
} else {
return ''
}
} catch (e) {
console.log(e)
}
}
// 获取请求头
function getHeaders() {
const token = getToken()
const header = {
'Authorization': token,
'Content-Type': 'application/json', // 根据自己的数据类型
// "Content-Type":"application/x-www-form-urlencoded",
'Ztx-Per-Id': uni.getStorageSync('perId') || '-1'
}
return header
}
const request = function(req) {
req.method = req.method.toUpperCase()
if (!['GET', 'POST', 'PUT', 'DELETE'].includes(req.method)) {
uni.showToast({
title: `暂不支持的请求方式: ${req.method}`,
icon: 'none'
})
return
}
// if (req.method === 'GET') {
// if (!req.params) {
// req.params = {}
// }
// req.params.pageNum = req.params.pageNum || 1
// req.params.pageSize = req.params.pageSize || 50
// }
// if (req.method == 'POST' && !req.hideLoding) {
// uni.showLoading({
// title: '提交中...'
// })
// }
return new Promise((resolve, reject) => {
uni.request({
url: req.url,
method: req.method,
data: req.params,
header: getHeaders()
}).then(res => {
switch (res.statusCode) {
case 200:
const data = res.data || {}
if (!data || data.code === 0 || data.code === 200 || data.pageData?.code === 200) {
resolve(data)
} else if (_.some(excludeUrls, (url) => req.url.indexOf(url) > -1)) {
resolve(data)
} else {
if (data.msg) {
uni.showToast({
title: data.msg,
icon: 'none',
duration: 2000
})
}
// 登录超时
// if (data.code === 60002 || data.code === 60001) {
// uni.redirectTo({
// url: '/pages/index/login'
// })
// } else if (data.code === 401) {
// h5LoginAuto()
// .then(() => {
// uni.hideLoading()
// uni.redirectTo({
// url: getCurrentPages()[getCurrentPages()
// .length - 1].$page.fullPath
// })
// })
// .catch(() => {
// debugger
// uni.showToast({
// title: '服务异常,请稍后重试',
// icon: 'none'
// })
// })
// }
reject(res)
}
break
default:
reject(res)
}
}).catch(res => {
reject(res)
}).finally(() => {
// if (req.method == 'POST' && !req.hideLoding) {
// uni.hideLoading()
// }
})
})
}
export default request