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)