Commit 59366b1d by liangjianmin

error统一处理

parent 671c0e3d
...@@ -8,43 +8,44 @@ import qs from 'qs'; ...@@ -8,43 +8,44 @@ import qs from 'qs';
* @param {string} url 请求的接口URL * @param {string} url 请求的接口URL
* @param {object} param 传的参数,没有则传空对象 * @param {object} param 传的参数,没有则传空对象
*/ */
const envs = process.env.NODE_ENV;
let NODE_ENVS="/";
switch (envs) {
case 'development':
//开发环境
NODE_ENVS = 'https://api.apiopen.top';
break;
case 'test':
//测试环境
NODE_ENVS = '';
break;
case 'production':
//线上环境
NODE_ENVS = '/';
break;
}
export const http = (method, url, param) => {
param = param && typeof param === 'object' ? param : {};
const config = {
url: `${NODE_ENVS}${url}`,
method: method,
transformRequest: [function (param) {
return qs.stringify(param);
}],
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
};
// post请求时需要设定Content-Type const envs = process.env.NODE_ENV;
if (method === 'post') { let NODE_ENVS = "/";
config.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; switch (envs) {
config.data = param; case 'development':
} else if (method === 'get') { //开发环境
config.params = param; NODE_ENVS = 'https://api.apiopen.top';
break;
case 'test':
//测试环境
NODE_ENVS = '';
break;
case 'production':
//线上环境
NODE_ENVS = '/';
break;
}
export const http = (method, url, param) => {
param = param && typeof param === 'object' ? param : {};
const config = {
url: `${NODE_ENVS}${url}`,
method: method,
transformRequest: [function (param) {
return qs.stringify(param);
}],
headers: {
'X-Requested-With': 'XMLHttpRequest'
} }
return axios(config); };
// post请求时需要设定Content-Type
if (method === 'post') {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
config.data = param;
} else if (method === 'get') {
config.params = param;
}
return axios(config);
} }
...@@ -3,7 +3,8 @@ import App from "./App.vue"; ...@@ -3,7 +3,8 @@ import App from "./App.vue";
import router from "./router"; import router from "./router";
import filters from './filters' import filters from './filters'
import directive from './directive' import directive from './directive'
import {http} from './ajax/index.js'; import {http} from './ajax/index.js';
import axios from 'axios'
//本地环境开启提示信息 //本地环境开启提示信息
...@@ -18,10 +19,17 @@ Object.keys(filters).forEach(key => Vue.filter(key, filters[key])); ...@@ -18,10 +19,17 @@ Object.keys(filters).forEach(key => Vue.filter(key, filters[key]));
//加载自定义指令 //加载自定义指令
Vue.use(directive); Vue.use(directive);
axios.interceptors.response.use(res => {
return res;
}, error => {
console.log('error');
return Promise.reject(new Error(error))
})
//挂载到VUE原型上封装后的http请求 //挂载到VUE原型上封装后的http请求
Vue.prototype.$http = http; Vue.prototype.$http = http;
new Vue({ new Vue({
router, router,
render: (h) => h(App), render: (h) => h(App),
......
...@@ -2,52 +2,49 @@ ...@@ -2,52 +2,49 @@
<div class="index"> <div class="index">
我是首页 我是首页
<el-button @click="ceshi">element测试按钮</el-button> <el-button @click="ceshi">element测试按钮</el-button>
<Menu /> <Menu/>
</div> </div>
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue';
import Menu from "@/components/menu.vue"; import Menu from "@/components/menu.vue";
import Tool from '../../tool' import Tool from '../../tool'
import { import {
Button Button
} from 'element-ui' } from 'element-ui'
Vue.use(Button)
export default {
name: "index",
data() { Vue.use(Button)
return { export default {
name: "index",
}; data() {
}, return {};
watch: {}, },
created() { watch: {},
created() {
}, },
computed: { computed: {},
methods: {
ceshi() {
this.$http('get', "/getJoke1", {
page: 1, count: 2, type: 'video'
})
.then(res => {
console.log(res)
})
.catch(err => {
console.log(err.message);
})
}, }
methods: { },
ceshi() { components: {
this.$http('get', "/getJoke", { Menu
page:1,count:2,type:'video' }
}) };
.then(res => {
console.log(res)
})
.catch(err => {
console.log(err.message);
})
}
},
components: {
Menu
}
};
</script> </script>
<style scoped> <style scoped>
@import "../../assets/css/index/index.min.css"; @import "../../assets/css/index/index.min.css";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment