| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /**
- * author 赵越
- * 2018-11-04
- */
- import axios from '@/plugins/axios'
- import Vue from 'vue'
- /**
- *
- * @param {string} path 请求地址的 path
- * @param {string} data 请求实体
- * @param {object} payload 其他选项
- * @param {object} promise 返回一个 promise
- */
- const get = async (path, data, payload = {}) => {
- console.log('ajax get req:' + path)
- return await request('get', path, data, payload)
- }
- /**
- *
- * @param {string} path 请求地址的 path
- * @param {string} data 请求实体
- * @param {object} payload 其他选项
- * @param {object} promise 返回一个 promise
- */
- const post = async (path, data = {}, payload = {}) => {
- console.log('ajax req:' + path)
- let urlParams = [];
- console.log(data)
- for(const key in data) {
- if(data.hasOwnProperty(key)) {
- const element = encodeURIComponent(data[key])
- urlParams.push(`${key}=${element}`)
- }
- }
- let formData = urlParams.join('&')
- let config = { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }
- if(payload.config && payload.config.headers) config.headers = {
- ...config.headers,
- ...payload.config.headers,
- }
- return await request('post', path, formData, { config })
- }
- /**
- *
- * @param {method} method 请求方法
- * @param {string} path 请求地址的 path
- * @param {string} data 请求实体
- * @param {object} payload 其他选项
- * @param {object} promise 返回一个 promise
- */
- const request = async (method, path, data, payload = {}) => {
- let host = ''
- let url = host + path
- let body = {
- url,
- data,
- method,
- params: data,
- }
- if(payload.config) body = {
- ...body,
- ...payload.config,
- params: '',
- }// Object.assign(body, payload.config, { params: '' })
- consoleFormat({ body })
- const res = await axios.request(body)
- let rData = res.data
- if(typeof rData !== 'object') rData = JSON.parse(rData)
- consoleFormat({ rData })
- if(rData.status === 1) return rData
- else if((rData.status === -99 || rData.status === '-99') && !payload.neverLogout) {
- // alert('not login ..');
- // const deviceType = getDeviceType();
- // alert('deviceType ..' + deviceType);
- // if (deviceType === 'ios' || deviceType === 'android') {
- // alert('redirect to login:' + 'proginn://login')
- // location.href = 'proginn://login'
- // } else {
- // location.href = 'https://www.proginn.com/?loginbox=show'
- // }
- return
- } else {
- if(!payload.neverLogout) Vue.prototype.$message.error(rData.info || rData.error)
- return
- }
- }
- const consoleFormat = obj => {
- const key = Object.keys(obj)[0]
- }
- Vue.prototype.$get = get
- Vue.prototype.$post = post
- Vue.prototype.$request = request
- // let host = `https://dev.test.proginn.com`
- let host = `https://www.proginn.com`
- export default { get, post, request, host }
|