vue 常用工具类封装整理 confirm.js (待继续补充...)

7 篇文章 0 订阅

1.新增文件 例:confirm.js

定义let

let _common = {}

编写需要的公共调用方法

/**
 * 判断对象的值是不是全为空
 */
export function _objectValueAllEmpty(params) {
  let flag = true;
  for (var key in params) {
    if (params[key] != '0' && !params[key]) {
      return false; // 终止程序
    }
  }
  return flag;
}

/**
 * 对象转url
 */
export function _convertObj(data) {
  var _result = [];
  let params = {
    token: getToken(),
    ...data
  }
  for (var key in params) {
    var value = params[key];
    if (value.constructor == Array) {
      value.forEach(function (_value) {
        _result.push(key + "=" + _value);
      });
    } else {
      _result.push(key + "=" + value);
    }
  }
  return _result.join("&");
}

/**
 * 上传图片
 * @param { FormData }  params { file: file } 一个FormData的文件对象
 */
export function upload_picture(params) {
  return axios.post(
    'admin/upload/upload_img',
    params, {
      method: 'post',
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    }
  );
}

/**
 * 获取文件的后缀名称
 * @param { String } fileName 文件全名 'xxxxx.jpg'
 * @return { String } 处理完的文件后缀 '.jpg'
 */
export function get_suffix(fileName) {
  let pos = fileName.lastIndexOf('.');
  let suffix = '';
  if (pos != -1) {
    suffix = fileName.substring(pos);
  }
  return suffix;
}


/**
 * 随机字符串(可用作文件名)
 * @param {*} len 文件名长度, 10 那个会拼接一个长度为10的文件名称
 * @return { String } 生成指定长度的随机字符串
 */
export function random_string(len) {
  len = len || 32;
  var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
  var maxPos = chars.length;
  var pwd = '';
  for (let i = 0; i < len; i++) {
    pwd += chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
}


/**
 * 验证表单数据是否填写了
 * @param {*} formObj 				// 需要进行验证的数据对象
 * @param {*} invalidArrList  // 验证规则
 *
 * demo:
 * let dataObj = {
 * 	a: '',
 * 	b: '100',
 * 	c: ''
 * }
 *
 * let arrList = [
 * 	{ arrName: 'a', errorTips: 'a没有填写!' },
 * 	{ arrName: 'b', errorTips: 'b没有填写!' },
 * 	{ arrName: 'c', errorTips: 'c没有填写!' }
 * ]
 *
 * this.isInvalidForm(dataObj, arrList)
 * -> 返回 { flag: false, errorTips: 'a没有填写' }
 */
export function invalid_form(formObj, invalidArrList) {
  for (let i = 0; i < invalidArrList.length; i++) {
    if (formObj[invalidArrList[i]['arrName']] === '') {
      return {
        flag: false,
        errorTips: invalidArrList[i]['errorTips']
      };
    }
  }
}


2.记得在文件尾输入默认板块

_common = {
  message,
  handleCofirm,
  _throttle,
  _convertObj,
  _objectValueAllEmpty,
  upload_picture,
  get_suffix,
  random_string,
  invalid_form,
}

export default _common

3.在Main.js里注册

import fn from '@/utils/confirm'
Vue.prototype.$fn = fn

4.使用

this.$fn.random_string(10)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值