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.$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的插件,详细用法请 移步此处

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值