import { Encrypt, UrlPath, Message } from "./../commonuni" // 请求拦截 const fetch = (action, opt) => { let params = opt.params opt.url = UrlPath.getBaseUrl() + action opt.method = opt.method || "GET"; var header = {} let token = uni.getStorageSync("jwttoken") if (token != null && token != "") { header = { Authorization: 'Bearer ' + token } } opt.header = { ...opt.header, ...header } if (opt.method == "POST") { if (opt.data) { opt.data = { data: Encrypt.AESEncode(JSON.stringify(opt.data)) } } } return new Promise((resolve, reject) => { let options = {} Object.keys(opt).map(key => { if (key !== "params") { return options[key] = opt[key] } }) uni.request(options) .then(res => interceptorsRes(res, resolve, reject)) .catch(err => interceptorsErr(err, reject)) }) } // 请求拦截 const fetchfile = (action, opt) => { let params = opt.params opt.url = action opt.method = "POST"; var header = {} let token = uni.getStorageSync("jwttoken") if (token != null && token != "") { header = { Authorization: 'Bearer ' + token } } opt.header = { ...opt.header, ...header } return new Promise((resolve, reject) => { uni.uploadFile(opt) .then(res => interceptorsRes(res, resolve, reject)) .catch(err => interceptorsErr(err, reject)) }) } // 响应拦截 const interceptorsRes = (resp, resolve, reject) => { const { code } = resp.data if (resp.statusCode == 401 || code == 401) { Message.info("登录已过期,请重新登录!") uni.navigateTo({ url: '../../pages/index/index' }); resolve(null); return; } if (typeof(resp.data) == "string") { resp.data = JSON.parse(Encrypt.AESDecode(JSON.parse(resp.data).data, null, null)); } else { resp.data = JSON.parse(Encrypt.AESDecode(resp.data.data, null, null)); } resolve(resp.data) } // 异常处理 const interceptorsErr = (err, reject) => { Message.error("网络异常", err) reject(err) } export { fetch, fetchfile }