tools 工具类
api.request
Function
/**
* post 请求
* @param url 接口url
* @param data 参数
*/
api.post(url,params).then((res)=>{}).catch(error);
api.get(url,params).then((res)=>{}).catch(error);
api.jsonp(url,params).then((res)=>{}).catch(error);
api.delete(url,params).then((res)=>{}).catch(error);
api.head(url,params).then((res)=>{}).catch(error);
api.options(url,params).then((res)=>{}).catch(error);
api.put(url,params).then((res)=>{}).catch(error);
api.patch(url,params).then((res)=>{}).catch(error);
代码示例:
import tools from '@/libs/index';
const baseUrl = '/api';
const api = new tools.API(baseUrl);
private async test() {
try {
const data = await api.get('http://api.bilibili.com/archive_stat/stat', {
aid: 90822505,
type: 'json'
});
tools.log.info('getStat', data);
} catch (e) {
tools.log.info('getStat', e);
}
}
cookie
Function
/**
* 设置cookie
* @param name 命名
* @param value 值
* @param hours 小时
* @param path 路径决定服务器的请求是否会从浏览器中加载某些Cookie
*/
// 设置cookie
tools.cookie.setCookie(name, value, hours, path)
// 获取cookie值
tools.cookie.getCookieValue(name)
// 删除cookie
tools.cookie.deleteCookie(name, path)
代码示例
import tools from '@/libs/index';
tools.log.info('获取cookie名为userId的值',tools.cookie.getCookieValue('userId'))
lStorage
function
// 存储localStorage
tools.lStorage.setItem(key, content)
// 获取localStorage
tools.lStorage.getItem(key)
// 删除localStorage
tools.lStorage.removeItem(key)
// 从localStorage删除所有保存的数据
tools.lStorage.clear()
// 获取所有的缓存数据
tools.lStorage.getAll()
// 删除指定key匹配的数据
tools.lStorage.removeDataFromKey(key)
代码示例
import tools from '@/libs/index';
tools.log.info('获取所有的缓存数据', tools.lStorage.getAll());
sStorage
Function
// 存储sessionStorage
tools.sStorage.setItem(key, content)
// 获取sessionStorage
tools.sStorage.getItem(key)
// 删除sessionStorage
tools.sStorage.removeItem(key)
// 从sessionStorage删除所有保存的数据
tools.sStorage.clear()
代码示例
import tools from '@/libs/index';
tools.log.info('获取sessionStorage',tools.sStorage.getItem('xxxb_user'))
echarts
function
/**
* 设置柱状图数据
* @param key 柱状图实例 this.barChartOptions
* @param data 数据
* 结构:{"datas":[{"name":"收入型","value":[2461,8650]},{"name":"残疾人单列户","value":[3360,1265]}],"titles":["阿拉善盟","张家口市"]}
*/
tools.echarts.setBarData(key, data);
代码示例
import tools from '@/libs/index';
tools.echarts.setBarData(this.barChartOptions, data);
mock
function
/**
* @param url 接口url
* @param rule mock规则
*/
mock.get(url, rule);
mock.post(url, rule);
mock.put(url, rule);
mock.patch(url, rule);
mock.delete(url, rule);
mock.head(url, rule);
mock.options(url, rule);
代码示例
import tools from '@/libs/index';
const baseUrl = '/api';
const mock = new tools.MockJs(baseUrl);
const api = new tools.API(baseUrl);
mounted() {
this.test();
mock.get('/aaa/aaa', {
code: '200',
'data|1': [
{
'Number|0-999': 1
}
],
message: '查询成功!',
success: 'true'
});
}
private async test() {
try {
const data = await api.get('/aaa/aaa', {});
tools.log.info('getStat', data);
} catch (e) {
tools.log.info('getStat', e);
}
}
时间格式化工具 (moment)
Function
// 初始时间
tools.moment.format(time = new Date(), norms = 'YYYY-MM-DD HH:mm:ss')
// 时间 加法
tools.moment.add(num = 1, numNorms: any = 'days', time = new Date(), norms = 'YYYY-MM-DD HH:mm:ss')
// 时间 减法
tools.moment.subtract(num = 1, numNorms: any = 'days', time = new Date(), norms = 'YYYY-MM-DD HH:mm:ss')
// 搜索专用 开始时间
tools.moment.start(time = new Date(), norms = 'YYYY-MM-DD')
// 搜索专用 结束时间
tools.moment.end(time = new Date(), norms = 'YYYY-MM-DD', num = 1, numNorms = 'days')
代码示例
import tools from '@/libs/index';
console.log(tools.moment.format(new Date(), 'YYYY-MM-DD HH:mm:ss'));
console.log(tools.moment.add(2, 'days'));
log 日志工具类 (console)
Function
tools.log.info(title: string, args: any)
tools.log.error(title: string, args: any)
tools.log.debug(title: string, args: any)
tools.log.warn(title: string, args: any)
tools.log.table(title: string, args: any)
代码示例
import tools from '@/libs/index';
tools.log.info('输出信息', data);
tools.log.error('输出错误信息', data);
vueTools
Function
/**
* 创建路由
* @param title 模板通用标题
* @param baseRoutes 基础路由
* @param routes 模板路由
* @param base 路由根地址,线上统一 /
* @param homeName 主界面路由名
* @param mode 路由模式 默认 history hash
*/
const createRoute = (baseRoutes: any = [], routes: any = [], base = '', homeName = 'home', mode: any = 'history') {}
/**
* 路由权限判断处
* @param to
* @param next
* @param homeName
*/
const turnTo = (to: any, next: any, homeName = 'home')
代码示例1
import vueTools from '@/libs/vueTools';
import baseRoutes from '@/router/baseRoutes';
/**
* @routes{Array} 定义路由
*/
vueTools.createRoute(baseRoutes, routes, '/yongkang-smart-pension-app', 'home', 'hash');
代码示例2
// 全局守卫
router.beforeEach((to: any, from: any, next: any) => {
turnTo(to, next, homeName);
});
gbk序列化 反序列化
Function
tools.gbk.encode(str: any);
tools.gbk.decode(str: any);
代码示例
import tools from '@/libs/index';
tools.gbk.encode('asssss');
requireDir获取文件信息(未理解)
Function
/**
* 获取文件信息
* @param files 地址列表
* @param expendFiles 排除文件
*/
const requireDir = (files: any, expendFiles: any = ['./index.ts'])
代码示例
import tools from '@/libs/index';
tools.requireDir.requireDir(files, expendFiles);
multiPlatform 运行环境判断
Funtion
// 已经全局引入tools文件
this.tool.multiPlatform.environmentalJudgment(); // 主方法
// 是否为浙里办APP环境(ZheLiBanApp)
this.tool.multiPlatform.isZheLiBanApp();
// 是否为支付宝小程序环境(AliPayMini)
this.tool.multiPlatform.isAliPayMini();
// 是否为微信环境(bIsWeChat)
this.tool.multiPlatform.isWeChat();
// 其他情况输出H5环境(H5)
this.tool.multiPlatform.isH5();
常用函数
getUUID
tools.getUUID(len: number, radix: number);
getResult 数组里取指定key的value值
tools.getResult(arr = [], id = '', find = 'id', result = 'value');
formatPhoneNumber 格式化手机号隐藏中间数据
tools.formatPhoneNumber(phone: string);
numberToPercentage 数字转换成百分比
tools.numberToPercentage(percentage: any);
hasOneOf 判断要查询的数组是否至少有一个元素包含在目标数组中
/**
* @param {Array} target 目标数组
* @param {Array} arr 需要查询的数组
*/
tools.hasOneOf(targetarr: any, arr: any)
compositeKey 快捷键注册
/**
* @param kes
* @param fun
*/
tools.compositeKey(kes: string, fun: any)
message 消息通用模板
/**
* @param type primary 主要通知、success 成功通知、warning 警告通知、danger 危险通知
* @param content
* @param duration
*/
tools.message(type: any, content: string, duration = 6)
confirm 确认 弹窗通用模板
/**
* @param title
* @param message
* @param okCallBack
* @param cancelCallBack
*/
tools.confirm(title: string, message = '', okCallBack = () => {}, cancelCallBack = ())
alert 消息 弹窗通用模板
/**
* @param title
* @param message
* @param okCallBack
* @param cancelCallBack
*/
tools.alert(title: string, message = '', okCallBack = () => { }, confirmButtonText = '')
notice 通知通用模板
/**
* @param type
* @param title
* @param message
* @param duration
*/
tools.notice(type: any, title: string, message: string, duration = 5)
forIn 遍历对象 返回 key value
/**
* @param obj
* @param callback
*/
tools.forIn(obj: any, callback: any)
object object处理
tools.object.isObject(obj: any);
tools.object.isFunction(obj: any)
tools.object.isArray(obj: any)
tools.object.isNull(obj: any)
tools.object.isNotNull(obj: any)
tools.object.length(obj: any)
tools.object.getChildrenPath(obj: any, c: any, k: any)
tools.object.merge(t: any, s: any, mergeArray = false)
string string处理
tools.string.trim(str: any)
tools.string.isBlank(str: any)
tools.string.isNotBlank(str: any)
tools.string.isEmpty(str: any)
tools.string.isNotEmpty(str: any)
tools.string.equalsIgnoreCase(a: any, b: any)
list list处理
tools.list.isEmpty(l: any)
tools.list.isNotEmpty(l: any)
tools.list.stringToList(s: any)
tools.list.find(l: any, k: any, v: any, j: any)
tools.list.indexOf(l: any, k: any, v: any, b: any, j: any)
tools.list.dedupe(array: [])
tools.list.remove(arr: [], key: any)
// 数组排序 配合 arr.sort(compare('age'))
tools.list. compare(property: string)
map map处理
tools.map.mapsExtVal(maps: any, key: any)
tools.map.listToMap(list: any, key: any)
tools.map.isEqualForString(a: any, b: any)
tools.map.isEmpty(m: any)
tools.map.isNotEmpty(m: any)
tools.map.isEqual(a: any, b: any, isWeak: any, isString: any)
tools.map.keys(m: any)
tools.map.vals(m: any)
// 咱不理解
tools.onMsg(callback: any)