|
|
@@ -1,18 +1,60 @@
|
|
|
import axios from 'axios'
|
|
|
+import md5 from 'js-md5'
|
|
|
import { Message } from 'element-ui'
|
|
|
|
|
|
// 请求url
|
|
|
const service = axios.create({
|
|
|
// baseURL: window.STATIC_CONFIG.proxyUrl, // url = base url + request url
|
|
|
- baseURL:"http://8.142.173.95:10086/",
|
|
|
+ baseURL: "http://8.142.173.95:10086/",
|
|
|
timeout: 15000 // request timeout
|
|
|
})
|
|
|
|
|
|
// 请求前拦截
|
|
|
service.interceptors.request.use(
|
|
|
config => {
|
|
|
- // }
|
|
|
- return config
|
|
|
+ let user = localStorage.getItem("userInfo")
|
|
|
+ if (user) {
|
|
|
+ user = JSON.parse(user)
|
|
|
+ let userToken = user.sessionid
|
|
|
+ const now = new Date().getTime()
|
|
|
+ const nonce = now + randomString(6)
|
|
|
+ let signparam = ''
|
|
|
+ let signdata = ''
|
|
|
+ const params = config.params
|
|
|
+ const data = config.data
|
|
|
+ if (data) {
|
|
|
+ for (const key in data) {
|
|
|
+ if (data[key] == null) continue
|
|
|
+ const signdataItem = key + '=' + data[key]
|
|
|
+ signdata = signdata + (signdata === '' ? '' : '&') + signdataItem
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (params) {
|
|
|
+ for (const k in params) {
|
|
|
+ if (params[k] == null) continue
|
|
|
+ const signparamItem = k + '=' + params[k]
|
|
|
+ signparam = signparam + (signparam === '' ? '' : '&') + signparamItem
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let signs = signparam + ((signparam === '' || signdata === '') ? '' : '&') + signdata
|
|
|
+ signs = signs + (signs === '' ? '' : '&') + 'auth_nonce=' + nonce + '&auth_time=' + now
|
|
|
+ signs = signs.split('&').sort().join('&')
|
|
|
+
|
|
|
+ signs = signs.replace(/\+/gi, '%20')
|
|
|
+ signs = decodeURIComponent(signs)
|
|
|
+ signs = md5(signs)
|
|
|
+ // }
|
|
|
+ config.headers['Authorization'] = 'Bearer ' + userToken
|
|
|
+ config.headers.auth_time = now
|
|
|
+ config.headers.auth_nonce = nonce
|
|
|
+ config.headers.sign = signs
|
|
|
+ config.headers['content-type'] = 'application/x-www-form-urlencoded'
|
|
|
+ return config
|
|
|
+ } else {
|
|
|
+ return config
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
error => {
|
|
|
// do something with request error
|
|
|
@@ -30,15 +72,24 @@ service.interceptors.response.use(
|
|
|
error => {
|
|
|
console.log('request.js err=', error) // for debug
|
|
|
console.log('request.js err.response=', error.response) // for debug
|
|
|
- error.response.data.message = error.response.data.message || '未知错误'
|
|
|
- Message({
|
|
|
- message: '' + error.response.data.message,
|
|
|
- type: 'error',
|
|
|
- duration: 3 * 1000,
|
|
|
- offset: window.screen.height / 3
|
|
|
- })
|
|
|
+ // if (error.response.data) {
|
|
|
+ // error.response.data.message = error.response.data.message || '未知错误'
|
|
|
+ // }
|
|
|
+ // Message({
|
|
|
+ // message: '' + error.response.data.message,
|
|
|
+ // type: 'error',
|
|
|
+ // duration: 3 * 1000,
|
|
|
+ // offset: window.screen.height / 3
|
|
|
+ // })
|
|
|
return Promise.reject(error)
|
|
|
}
|
|
|
)
|
|
|
-
|
|
|
+const randomString = function (e) {
|
|
|
+ e = e || 32
|
|
|
+ const t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
|
|
|
+ const a = t.length
|
|
|
+ let n = ''
|
|
|
+ for (let i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a))
|
|
|
+ return n
|
|
|
+}
|
|
|
export default service
|