vue项目常用的方法封装
vue全家桶构建项目过程中,需要经常调用一些方法,比如axios的请求,下面就将经常用的方法进行封装import Vue from 'vue'import axios from 'axios'import qs from 'qs'import Router from 'vue-router'const $router = new Router()Vue.prototype.$aja...
·
vue全家桶构建项目过程中,需要经常调用一些方法,比如axios的请求,下面就将经常用的方法进行封装
import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'
import Router from 'vue-router'
const $router = new Router()
Vue.prototype.$ajax = axios
Vue.prototype.$qs = qs
//接口的统一域名部分
Vue.prototype.urlPrefix = 'http://xxxxxxxxxx/'
//调用ajax方法
Vue.prototype.c_ajax = function (p, u, c,e) {
//p.token = window.localStorage.getItem('token'),这是本地存token,也可以用vuex
p.token = this.$store.state.token;
this.$ajax.post(this.urlPrefix + u, this.$qs.stringify(p)).then(value => c(value)).catch(value=>e(value))
}
//上传文件方法
Vue.prototype.c_file = function (p, u, c,e) {
p.token = this.$store.state.token;
let config ={
headers:{'Content-Type':'multipart/form-data'}
}
this.$ajax.post(this.urlPrefix + u, this.$qs.stringify(p),config).then(value => c(value)).catch(value=>e(value))
}
// 获取本地存储方法
Vue.prototype.getLocalObj = function (n) {
return (window.localStorage[n] && typeof window.localStorage[n] !== 'undefined' && window.localStorage[n] !== 'undefined') ? JSON.parse(window.localStorage[n]) : ''
}
// 设置本地存储方法
Vue.prototype.setLocalObj = function (n, o) {
window.localStorage[n] = (typeof o === 'object') ? JSON.stringify(o) : o
}
// 图片处理,如果没有图片则使用默认图片
Vue.prototype.imgPath = function(data){
let tempdata = /^(https:|http:)/g;
if(data){
if(tempdata.test(data)){
return data
}else{
return (this.urlPrefix + data)
}
}else{
return 'static/img/nopng.jpg'
}
}
//验证是否登录,以token存本地为例
if(!window.localStorage.getItem('token')){
this.$confirm('您还没有登录!无法进行该操作,是否前往登录','提示').then(({result})=>{
if(result){
this.$router.push({name:'user_login'})
}else {return}
})
}else {
(value=>e(value))()
}
}
this.$comfire用的是muse ui的插件,详细用法请 移步此处
更多推荐
已为社区贡献2条内容
所有评论(0)