meansjs
Version:
Common methods used in daily development
291 lines (226 loc) • 8 kB
Markdown
## Installation (安装)
```console
npm install meansjs
```
> 也可下载/dist/meansjs.min.js中的文件使用
## TS 项目 引入文件
+ 在项目中找到后缀 **.d.ts** 的文件(vue3中是shims-vue.d.ts);如果没有就自行创建
+ 将 declare module 'meansjs'; 引入其中即可
**示列**
```javascript
// ./src/shims-vue.d.ts
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default componen
}
declare module 'meansjs'; // 示列
```
## API (方法)
日常开发中所需要的方法
引入插件库
```javascript
import meansJs from 'meansjs';
```
| 1 | means(方法) :wrench: | 功能 :dragon_face: | | means(方法) :wrench: | 功能 :dragon_face: |
|:--- | :--- | :--- | :--- | :--- | :--- |
| 2 | [meAscii](#meAscii) | ASCII排序 | 16 | [meDate](#meDate) | 年月日 |
| 3 | [meSort](#meSort) | 排序 | 17 | [meTime](#meTime) | 年月日时分秒 |
| 4 | [meSortSize](#meSortSize) | 字符长度排序 | 18 | [meUnix](#meUnix) | 时间戳 |
| 5 | [meCharacterSize](#meCharacterSize) | 字符长度 | 19 | [meJstype](#meJstype) | 判断数据类型 |
| 6 | [meDeepClone](#meDeepClone) | 深拷贝 | | | |
| 7 | [meAntiShake](#meAntiShake) | 防抖 | | | |
| 8 | [meThrottle](#meThrottle) | 节流 | | | |
| 9 | [meDeWeight](#meDeWeight) | 数组去重 | | | |
| 10 | [meGetUrl](#meGetUrl) | 获取url的值 | | | |
| 11 | [meTerminal](#meTerminal) | 终端判断 | | | |
| 12 | [meToBase64](#meToBase64) | 图片链接转为base64 | | | |
| 13 | [meBase64File](#meBase64File) | base64转为file文件 | | | |
| 14 | [meMin](#meMin) | 获取最小值 | | | |
| 15 | [meMax](#meMax) | 获取最大值 | | | |
### meAscii
* meAscii方法必须传递一个对象;
**示列**
```javascript
const params = {
name:'means',
id:1
};
const meAscii = meansJs.meAscii(params); // id1namemeans
```
### meSort
* 第一个值 arr: 排序数组
* 第二个值 type: asc 升序 ; desc 降序 --- 非必填
* 第三个值 key: 排序字段 --- 非必填
**示列**
```javascript
const arr = [
{id:56},{id:98},{id:65}
];
const size = meansJs.meSort(arr,type:'asc',key:'id');
```
### meSortSize
**示列**
```javascript
const arr = ['meansjs','js-yyds','我最厉害','zh']
const size = meansJs.meSortSize(arr); // ['zh', 'meansjs', 'js-yyds', '我最厉害']
```
### meCharacterSize
**示列**
```javascript
const size = means.meCharacterSize('meansjs还不错'); // 13
```
### meDeepClone
* 对象或者数组都可以进行深拷贝
**示列**
```javascript
let arr = [{id:1,name:'我不是meansjs'}]
let deep = meansJs.meDeepClone(arr);
deep[0].name = '你不是meansjs,那你是个啥?'
console.log(deep); // name : "你不是meansjs,那你是个啥?"
console.log(arr); // name : "我不是meansjs"
```
### meAntiShake
* **第一个值** : 函数
* **第二个值** : 时间 --- 默认值 500
**示列**
```javascript
meansJs.meAntiShake(()=>{
console.log('我是meansjs');
},500) // or
meansJs.meAntiShake(()=>{
test() // 方法
},500)
```
### meThrottle
* **第一个值** : 函数
* **第二个值** : 时间 --- 默认值 500
**示列**
```javascript
meansJs.meThrottle(()=>{
console.log('我是meansjs');
},500) // or
meansJs.meThrottle(()=>{
test() // 方法
},500)
```
### meDeWeight
* arr: 数组
* key: 去重字段, 默认为空(一维数组)
**示列**
```javascript
let arr = [{id:10},{id:10},{id:2},{id:3},{id:2}];
// let arr = [1,2,1,2,3];
const meDeWeight = meansJs.meDeWeight(arr,'id');
```
### meGetUrl
* 默认值-空(获取当前页面url);非空时:获取传递链接url的值
* 返回对象
**示列**
```javascript
meansJs.meGetUrl("http://localhost:8080/#/about?id=12&name='wode'&dsj='dsajk'") // or
meansJs.meGetUrl() // 获取当前页面url的值
```
### meTerminal
**示列**
```javascript
meansJs.meTerminal() // or
meansJs.meTerminal()['weixin']
```
**返回参数**
```javascript
ali: false
android: false
gecko: true
iPad: false
iPhone: false
ios: false
mobile: false
presto: false
trident: false
webApp: true
webKit: false
weixin: false
```
### meToBase64
* 第一个值:图片链接
* 第二个值:回调函数
* 第三个值:图片质量 --- 默认值 0.92
* 第四个值:图片格式 --- 默认值 webp(可以不填,但是不能填空字符串)
**示列**
```javascript
meansJs.meToBase64('https://img0.baidu.com/it/u=2692044174,3628684553&fm=253&fmt=auto&app=138&f=JPEG?w=450&h=780',(base64)=>{
console.log(base64);
this.base64 = base64;
},0.82,'png',)
```
### meBase64File
* 第一个值:base64
* 第二个值:文件名字 --- 默认值 时间戳
**示列**
```javascript
meansJs.meToBase64('https://img0.baidu.com/it/u=2692044174,3628684553&fm=253&fmt=auto&app=138&f=JPEG?w=450&h=780',(base64)=>{
const file = meansJs.meBase64File(base64,'meansjs');
console.log(file);
},0.82,'png',)
```
### meMin
* 第一个值:数组
* 第二个值:key值--最小值字段
**示列**
```javascript
const arr = [
{id:12},{id:45},{id:6}
];
const size = meansJs.meMin(arr,'id'); // 6 or
const arr = [12,45,2,34,5,3];
const size = meansJs.meMin(arr); // 2
```
### meMax
* 第一个值:数组
* 第二个值:key值--最小值字段
**示列**
```javascript
const arr = [
{id:12},{id:45},{id:6}
];
const size = meansJs.meMax(arr,'id'); // 45 or
const arr = [12,45,2,34,5,3];
const size = meansJs.meMax(arr); // 45
```
### meDate
**示列**
```javascript
const date = meansJs.meDate();
console.log(date); // 2023-01-06
```
### meTime
**示列**
```javascript
const time = meansJs.meTime();
console.log(time); // 2023-01-06 16:16:58
```
### meUnix
**示列**
```javascript
const unix = meansJs.meUnix();
console.log(unix); // 1672993084067
```
### meJstype
* 第一个值:被判断数据
* 第二个值:是否首字母大写 -- 默认值 false
**示列**
```javascript
// let b = '123'; // String
// let b = 12; // Number
// let b = true; // Boolean
// let b = {id:'sda',name:'dsa'}; // Object
// let b = [{id:1},{id:2}]; // Array
// let b = null; // Null
let b = undefined; // Undefined
// let b = function() {}; // Function
// let b = new Date(); // Date
// let b = Symbol(1); // Symbol
const type = meansJs.meJstype(b,true);
console.log(type); //
```