一些常用的工具类
npm i @hyjs/utils -S
#or yarn
yarn add @hyjs/utils -S
#or pnpm
pnpm i @hyjs/utils -S
getDevice();
// "iOS" | "Android" | "Web"
isIE();
// boolean
isMobile();
// boolean
await compressImage(file);
// Promise<Blob>
注意:在请求时需要设置
headers
头responseType: blob
downloadFile(data, 'image/jpeg', 'filename');
// filename.jpeg
await convertBase64ToFile(base64, 'file', 'filename');
// Promise<File>
await convertBase64ToFile(base64, 'blob', 'filename');
// Promise<Blob>
await fileToBase64(file);
// Promise<string>
await getAudioDuration(file);
// 12s
const accessType = getAccessType({});
// Object
const accessType = getAccessType(new RegExp());
// RegExp
const accessType = getAccessType(Symbol());
// Symbol
...
async function() {
await sleep(3000);
// 3s ----
console.log('log');
}
// debounce(() => {}, 毫秒);
debounce(() => {}, 2000);
// throttle(() => {}, 毫秒);
throttle(() => {}, 2000);
convertCurrency(987654321);
// 玖亿捌仟柒佰陆拾伍万肆仟叁佰贰拾壹元整
numberToChinese(987654321);
// 九億八仟七百六十五萬四仟三百二十一
filterObjectEmpty({
a: undefined,
b: null,
c: '',
d: 0
});
// { d: 0 }
filterObjectEmpty({
a: undefined,
b: 111,
c: 222
}, [111, 222]);
// { a: undefined }
random4Code();
// dsj1
randomChar();
// zZqt
randomChar(32);
// w2rAOdMRqhlhNEYzVUv2zw0Zp616rNFp
randomChar(32, ['number']);
// 05099593713036830668381743720300
randomNumber(100);
// 32
randomNumber(1, 3);
// 2
currency(987654321);
// '987,654,321.00'
currency(987654321, 1);
// '987,654,321.0'
currency(987654321, 0);
// '987,654,321'
toHump('a_bc_d_e');
// aBcDE
toLine('aBcDE');
// a_bc_d_e
uuid();
// 15afbbae-a98b-b07c-df94-e2f916ac1cd1
dateFormatter('YYYY-MM-DD hh:mm:ss');
// 2022-01-13 12:00:00
dateFormatter('YYYY-MM-DD hh:mm:ss', 'Thu Jan 13 2022 12:00:00 GMT+0800 (中国标准时间)')
// 2022-01-13 12:00:00
Strict
严谨的Loose
宽松的
// RegExpIMEI 手机机身码(IMEI)
RegExpIMEI.test('123456789012345');
// RegExpURL 网址(URL)
RegExpURL.test('www.npmjs.com');
RegExpURL.test('https://www.npmjs.com');
...
const env = await getWxEnv();
switch(env) {
case 'wx':
// 微信内
break;
case 'mini-wx':
// 小程序内
break;
case 'no-wx':
// 非微信
break;
default:
//未知
}