123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- import { getToken } from './auth.js'
- import { toast } from './common.js'
- const BASE_URL = 'http://121.36.73.159:807/prod-api'
- const request = config => {
- config.header = config.header || {}
- if (getToken()) {
- config.header['Authorization'] = 'Bearer ' + getToken()
- }
- uni.showLoading({
- title:'请求中...'
- })
- return new Promise((resolve, reject) => {
- uni.request({
- header: config.header,
- method: config.method.toUpperCase() || 'GET',
- dataType: 'json',
- timeout: config.timeout || 10000,
- url: config.baseUrl || BASE_URL + config.url,
- data: config.data,
- }).then((response) => {
- let { data, statusCode } = response
- const code = statusCode || 200
- const msg = data.msg || '未知错误,请反馈给管理员'
- if (code === 401) {
- showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录').then(res => {
- if (res.confirm) {
- uni.reLaunch({ url: '/pages/login/login' })
- }
- })
- reject('无效的会话,或者会话已过期,请重新登录')
- } else if (code !== 200) {
- toast(msg)
- reject(code)
- }
-
- uni.hideLoading()
- resolve(data)
- }).catch(error => {
- let { message } = error
- if (message === 'Network Error') {
- message = '后端接口连接异常'
- } else if (message.includes('timeout')) {
- message = '系统接口请求超时'
- } else if (message.includes('Request failed with status code')) {
- message = '系统接口' + message.substr(message.length - 3) + '异常'
- }
-
- uni.hideLoading()
- toast(message)
- reject(error)
- })
- })
- }
- // function request(req) {
- // let data = req.data
- // const method = req.method
- // const url = req.url
- // let loading = false
- // if (req.data.loading) {
- // loading = data.loading
- // delete data.loading
- // }
- // let header = {
- // 'Content-Type': 'application/json',
- // 'timestamp': Date.parse(new Date()),
- // // 'token': uni.getStorageSync('user').access_token,
- // 'Authorization': 'Bearer ' + uni.getStorageSync('user').access_token
- // }
- // if (loading) {
- // uni.hideLoading()
- // uni.showLoading({
- // title: '请求中',
- // mask: true
- // })
- // }
- // return new Promise((resolve, reject) => {
- // console.log('REQ ==>', url)
- // console.log(data)
- // uni.request({
- // url: BASE_URL + url,
- // data: data,
- // header: header,
- // method: method.toUpperCase(),
- // timeout: 1000 * 60 * 3, //超时三分钟
- // success: async (res) => {
- // uni.hideLoading()
- // console.log("RES <==", url)
- // console.log(res)
- // if (res.statusCode == 200 && res.data.code == 200) {
- // resolve(res.data.data)
- // } else if (res.statusCode == 401) {
- // //处理token验证出错
- // console.log('Token过期')
- // if (!uni.getStorageSync('user')) {
- // //其他设备登录了
- // uni.reLaunch({
- // url: '/pages/login/login'
- // });
- // } else {
- // //token续租
- // let r = await login(uni.getStorageSync('user').login)
- // let result = await request(req)
- // }
- // } else {
- // console.error(res.data.msg)
- // if (res.data.msg == '登录状态已过期') {
- // uni.reLaunch({
- // url: '/pages/login/pages/login'
- // })
- // }
- // uni.showToast({
- // title: res.data.msg,
- // icon: "none",
- // position: "bottom",
- // duration: 3000
- // })
- // reject(false)
- // }
- // },
- // fail: (err) => {
- // uni.hideLoading()
- // uni.showToast({
- // title: '服务器休息中,请稍后再试',
- // icon: "none",
- // position: "center",
- // duration: 3000
- // });
- // console.error(url, err)
- // reject(err)
- // }
- // });
- // })
- // }
- export default request
|