目录结构

axios请求封装
config
import axios from 'axios'
const axios1 = axios.create({
baseURL: 'http://localhost:3000',
timeout: 5000
});
axios1.interceptors.request.use(function (config) {
config.headers.common['Authorization'] = 'Bearer ' + localStorage.getItem("token");
return config;
}, function (error) {
return Promise.reject(error);
});
axios1.interceptors.response.use(function (response) {
return response;
}, function (error) {
console.log('res-err', error);
return Promise.reject(error);
});
export default axios1
#https.js
import axios1 from './config'
export function selectGrade() {
return axios1({
url: '/Grade',
method: 'get'
})
}
export function addGrade (data) {
return axios1({
url: '/Grade ',
method: 'post',
data
})
}
export function editGrade(data) {
return axios1({
url: '/Grade',
method: 'put',
data
})
}
export function delGrade(params) {
return axios({
url: '/Grade',
method: 'delete',
params
})
}
调用
import {selectGrade} from '@/api/http';
......
getGradeData() {
selectGrade()
.then((res) => {
this.book = res.data.list;
})
.catch((err)=>{
console.log(err);
})
},
过滤器的封装
filters.js
import moment from "moment";
export const formatGift = val => val + "元优惠券";
export const formatPrivilege = val => val + "折";
export const formatTime = val => moment(val).format("YYYY-MM-DD, h:mm:ss");
export const formatTime2 = val => moment(val).format("YYYY-MM-DD");
export const formatGender = function(val) {
if (val == 0) {
return "女"
}
if (val == 1) {
return "男"
}
if (val == 2) {
return "保密"
}
};
main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui';
import * as filters from "./utils/filters"
import 'element-ui/lib/theme-chalk/index.css';
import '@/assets/css/reset.css'
Object.keys(filters).forEach(k => Vue.filter(k, filters[k]))
Vue.use(ElementUI);
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
使用
{{data | formatGift}}