import { baseURL } from './env.js' import { api } from './api.js' // 请求拦截 const fetch = (url, opt) => { uni.showLoading({ mask: true }) let urls = (api[opt.url]?.url || api[url]?.url); let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) : '' opt.url = uni.$baseUrl + urls + params opt.method = opt.method || "GET"; var header = {} // 是否禁用token if (!opt.hideToken) { if (uni.getStorageSync('token')) { header = { Authorization: 'Bearer ' + uni.getStorageSync('token') } } } // 带入租户编号 if (url === "login") opt.header["tenant-id"] = 1; opt.header = { ...opt.header, ...header } // console.log(opt); opt.data = 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 => { // 响应拦截 const { code } = res.data if (code == 200) { resolve(res.data) console.log("请求成功") } if (code == 401) { uni.reLaunch({ url: "/pages/login/loginPage" }) // console.log("未授权,跳转回登录页") } uni.hideLoading(); resolve(res.data); // resolve(res.data) }) .catch(err => { uni.hideLoading(); // 异常处理 console.info("网络异常", err); reject(err) }) }) } export { fetch }