UNPKG

app-base-web

Version:
173 lines (170 loc) 4.73 kB
import axios from 'axios' // import qs from 'query-string' import net from '../util-net' import string from '../util-string' const _Export = { _DicList: {}, _DicJson: {}, // get:function(url, data) { // return new Promise((resolve, reject) => { // axios.get(url) // .then((response) => { // resolve(response.data) // }, reject) // }) // }, // onErr: function (isIframe) { // net.cookie.remove("_isLogin"); // net.cookie.remove("token"); // if (isIframe) { // top.location.href = "/" // } else { // location.href = "/" // } // }, setUser: function (user) { if (user) { net.cookie.set("token", user.token) net.cookie.set("type", user.type) net.cookie.set("name", user.name) net.cookie.set("code", user.code) net.cookie.set("dept", user.dept) net.cookie.set("menus", string.encrypt(user.menus, user.token)) } else { net.cookie.remove("token") net.cookie.remove("type") net.cookie.remove("name") net.cookie.remove("code") net.cookie.remove("dept") net.cookie.remove("menus") } }, getUser: function () { return { token: net.cookie.get("token") || "", type: net.cookie.get("type") || "", name: net.cookie.get("name") || "", code: net.cookie.get("code") || "", dept: net.cookie.get("dept") || "", systemId:net.cookie.get("systemId")||"" } }, post: function (url, data, callback) { let user = _Export.getUser() return new Promise((resolve, reject) => { axios.post(url, data, { headers: { langue: "zh_CN", token: user.token, systemId:user.systemId } }).then((response) => { resolve(response.data) callback && callback(response.data) }, reject) }) }, get: function (url, data, callback) { let user = _Export.getUser() let _data = {}; for (let key in data) { if (data[key] instanceof Array) { if (url.indexOf("?") >= 0) { url += "&" + key + "=" + data[key] } else { url += "?" + key + "=" + data[key] } } else { _data[key] = data[key]; } } return new Promise((resolve, reject) => { axios.get(url, { params: _data, headers: { langue: "zh_CN", token: user.token } }).then((response) => { resolve(response.data) callback && callback(response.data) }, reject) }) }, getHtml: function (url, data) { return new Promise((resolve, reject) => { axios.get(url) .then((response) => { resolve(response.data) }, reject) }) }, submit: function (url, data, callback) { let user = _Export.getUser() return new Promise((resolve, reject) => { axios({ headers: { 'Content-Type': 'application/x-www-form-urlencoded', langue: "zh_CN", token: user.token }, method: 'post', url: url, data: data }).then((response) => { resolve(response.data) callback && callback(response.data) }, reject) }) }, delete: function (url, data, callback) { let user = _Export.getUser() let _data = {}; for (let key in data) { if (data[key] instanceof Array) { if (url.indexOf("?") >= 0) { url += "&" + key + "=" + data[key] } else { url += "?" + key + "=" + data[key] } } else { _data[key] = data[key]; } } return new Promise((resolve, reject) => { axios.delete(url, { params: data, headers: { langue: "zh_CN", token: user.token } }).then((response) => { resolve(response.data) callback && callback(response.data) }, reject) }) }, //global defaults interceptors: function (f_req, f_res, f_Err) { // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' axios.interceptors.request.use(config => { config.timeout = 30000 // config.withCredentials = true; // 允许携带token ,这个是解决跨域产生的相关问题 // config.data = qs.stringify(config.data); config = f_req(config) return config }, error => { // _Export.onErr(); // return Promise.reject(error); if (f_Err) f_Err() }) axios.interceptors.response.use(response => { return f_res(response) }, error => { // _Export.onErr(); if (f_Err) f_Err() return Promise.reject(error) }) } } module.exports = _Export